G
Gelöschtes Mitglied 710
Hi,
scheinbar bin ich zu blöd für sowas oder ich übersehe etwas.
Ich entwickle mit Visual Basic 6 gerade eine Applikation, mit der ich in einer Voransicht einen Bildausschnitt passig verschiebe und diesen dann nachher aus dem Originalbild speichern will.
Das Originalbild hat die Maße 3088x2048 Pixel BxH (kann aber auch variieren). Die Picturebox für die Voransicht hat die Maße 582x378. Jetzt rechne ich das Original auf 19% herunter, damit es annähernd komplett in die Vorschau passt. Jetzt schiebe ich das Vorschaubild zurecht und habe nun eine Nase genau in der Mitte des Bildes.
Nun geht es los. Jetzt will ich das Bild hochskalieren auf 30% und möchte danach die Nase immer noch in der Mitte des Bildes haben.
Der Ablauf der Skalierung und des Verschiebens ist folgender:
1. Laden des Originals in Picture1 ( 3088x2048 )
2. Runterskalieren des Originals auf 19% in Picture2 ( 586x389 )
3. Einpassen eines Ausschnitts aus Picture2 in Picture3 (Vorschau, 582x378 )
In Picture3 kann ich nun mit Mousedown, Mouseover, Mouseup das Bild, soweit möglich, verschieben. Dabei fülle ich 2 Variablen mit den jeweils aktuellen X und Y-Startwerten des Ausschnitts, den ich dann aus Picture2 generiere.
Jetzt setze ich die Skalierung auf 30%. Picture2 generiert sich in den Maßen 926x614 von dem Original neu, die Vorschaumaße bleiben. Jetzt will ich Picture3 so anzeigen, dass die besagte Nase immer noch in der Mitte ist, nur eben grösser.
Und für genau das Vorhaben fehlt mir jetzt die Berechnung, wie ich die X/Y-Startwerte, die ich ja habe, auf die neuen Maße umrechne. Einfacher Dreisatz für die erhöhte Skalierung tuts nicht.
Ich hoffe, dass ich alle Unklarheiten beseitigt habe und freue mich nun auf Antworten von Mitmenschen, die logischer denken können als ich (und das werden einige sein).
Vielen Dank und Gruß,
HoloDoc
scheinbar bin ich zu blöd für sowas oder ich übersehe etwas.
Ich entwickle mit Visual Basic 6 gerade eine Applikation, mit der ich in einer Voransicht einen Bildausschnitt passig verschiebe und diesen dann nachher aus dem Originalbild speichern will.
Das Originalbild hat die Maße 3088x2048 Pixel BxH (kann aber auch variieren). Die Picturebox für die Voransicht hat die Maße 582x378. Jetzt rechne ich das Original auf 19% herunter, damit es annähernd komplett in die Vorschau passt. Jetzt schiebe ich das Vorschaubild zurecht und habe nun eine Nase genau in der Mitte des Bildes.
Nun geht es los. Jetzt will ich das Bild hochskalieren auf 30% und möchte danach die Nase immer noch in der Mitte des Bildes haben.
Der Ablauf der Skalierung und des Verschiebens ist folgender:
1. Laden des Originals in Picture1 ( 3088x2048 )
2. Runterskalieren des Originals auf 19% in Picture2 ( 586x389 )
3. Einpassen eines Ausschnitts aus Picture2 in Picture3 (Vorschau, 582x378 )
In Picture3 kann ich nun mit Mousedown, Mouseover, Mouseup das Bild, soweit möglich, verschieben. Dabei fülle ich 2 Variablen mit den jeweils aktuellen X und Y-Startwerten des Ausschnitts, den ich dann aus Picture2 generiere.
Jetzt setze ich die Skalierung auf 30%. Picture2 generiert sich in den Maßen 926x614 von dem Original neu, die Vorschaumaße bleiben. Jetzt will ich Picture3 so anzeigen, dass die besagte Nase immer noch in der Mitte ist, nur eben grösser.
Und für genau das Vorhaben fehlt mir jetzt die Berechnung, wie ich die X/Y-Startwerte, die ich ja habe, auf die neuen Maße umrechne. Einfacher Dreisatz für die erhöhte Skalierung tuts nicht.
Ich hoffe, dass ich alle Unklarheiten beseitigt habe und freue mich nun auf Antworten von Mitmenschen, die logischer denken können als ich (und das werden einige sein).
Vielen Dank und Gruß,
HoloDoc
Zuletzt bearbeitet von einem Moderator: