Hallihallo,
nach langer Zeit reaktiviere ich meinen Account
Entschuldigt schonmal alles was an meinem Ansatz ungünstig ist, aber es ist spät.
Mein generelles Ziel: Ein Bild anzeigen und dem User ermöglichen, eine Auswahlbox irgendwo im Bildbereich zu ziehen, die nach MouseUp stehen bleibt. Also einfach eine Markierungsbox, die man aufziehen und verschieben kann, um den Programm zu sagen "ich will diesen Bereich hier". Weil es mir ein paar nette Eigenschaften bietet, benutze ich zur Anzeige des Bildes ein TImage32 aus der
GR32.
Die Auswahlbox wollte ich so realisieren, dass ich eine zweite Image-Komponente einfach über die erste lege, und dort via MouseMove etc meine Box zu malen.
Problem dabei: TImage32 bleibt partout im Vordergrund, egal an welcher Stelle ich die Komponentenreihenfolge beeinflusse. Weder Paintbox noch normales TImage gehen vor ein TImage32.
Ein weiteres TImage32 ist mir irgendwie zu doof, das wird nämlich nicht so ohne weiteres Transparent (da TImage das ja irgendwie von Haus aus mitbringt (oder war es Paintbox... auf jeden Fall funktionierte es vorhin mit einem normalen TImage im Hintergrund). Im Hintergrund-TImage32 einfach einen extra Layer zu erzeugen lasse ich mir als Notfallschirm offen, da weiß ich noch nicht genau wie und ob es da Probleme mit den Koordinaten gibt (wenn das Bild gestrtecht wird braucht man ja eine Umrechnung von Windows-Koordinaten und Koordinaten im gestauchten Bild).
Fällt einem was ein?
Übrigens als schüchterne Anmerkung... ich weiß grad nicht mehr warum es TImage32 sein muss. Eigentlich wollte ich schreiben "Weil ich bei den Standard-
VCL teilen nicht herausbekomme auf wieviel Pixel das Bild gestaucht wurde", aber das geht ja glaub ich über die Canvas.Width und Height. Vielleicht weiß ichs morgen...
[Edit]Genau, es war wegen des coolen ScaleMode "smScaledOptimal" oder so, der skaliert ein Bild wenn eine der Dimensionen zu groß ist entsprechend proportional runter, und wenn es nicht zu groß ist lässt er es original stehen, also keine Vergrößerung. Ist das mit dem normalen TImage zu erreichen? Proportional=true und Stretch=true vergrößern ein Bild ja so dass es die Leinwand in etwa genau ausfüllt.[/Edit]
Gute Nacht,
Stefan