Einzelnen Beitrag anzeigen

Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#4

Re: TImage: Bild laden, Auswahlrahmen zeichnen,Farben vermis

  Alt 13. Okt 2008, 00:12
Hi,

die Demo ist schonmal ziemlich cool, genau das will ich. Halbtransparent ist kein Problem, nur sitze ich schon wieder den ganzen Tag vor der Problematik, einfach nicht anständig zeichnen zu können.
Ich scheine wohl vor der Wahl zu stehen: Mistig zeichnen aber viele Bildformate, oder richtig gut zeichnen aber nur mit dem was TBitmap schluckt.

Mistig zeichnen: Auf TImage32 aus GR32 kann man eigentlich schonmal ganz nett rummalen. Nur handelt es sich nunmal um Fotos die ich bearbeiten will, und die sind ja meist ziemlich groß. Also lasse ich sie passend Stauchen damit man sie komplett sehen kann. Das Problem dabei ist, dass der Bereich auf dem ich die Box zeichnen will dadurch auch gestaucht wird. Wenn ich dann den Rahmen male, kommt es in den allermeisten Fällen vor, dass mindestens eine der Seiten des Rahmens auf einer X-/Y-Koordinate verläuft, die durch die Stauchung zu den Pixeln gehören, die nicht angezeigt werden. Man sieht den Rahmen also fast nie komplett.
Optimal wäre eigentlich, im Hintergrund den Bereich des Fotos zu haben, und davor irgendwas transparentes, dessen Bereich nicht gestaucht ist, worauf ich dann malen kann. Die Probleme der verschiedenen Koordinaten die dabei auftreten (ich müsste ja Auswahlboxdimensionen auf Fotopunkte umrechnen) sind gelöst. Nur: Ich kriege es einfach nicht hin, irgendwas auf dieses TImage32 zu legen, worauf ich zeichnen und gleichzeitig das Foto im Hintegrund sehen kann.
Es gibt da zwei Möglichkeiten des Fehlschlags die bisher immer eintreten: Entweder ist der Kandidat eine Komponente, die man irgendwie nicht vor ein TImage32 legen kann (das Image32 in den Hintergrund schicken hat genauso wenig Effekt (keinen) wie die andere Komponente in den Vordergrund zu holen), oder es handelt sich um eine Komponente, die zwar vor das TImage32 geht (bspw ein anderes TImage32), aber dieses dann ohne wenn und aber (und Transparenzeinstellungen und Alphawerten) komplett verdeckt.

Hm. Da fällt mir was ein. Könnte man das Image einfach schon Codeseitig stauchen? Also die Idee: Nicht das Bild original laden und dem TImage32 sagen "mach klein". Sondern das Bild laden, es selbst kleinrechnen (sodass seine dimensionen wirklich kleiner sind), dieses dann aufs Image legen und zeichnen, mit dem Vorteil dass das Image nicht mehr stauchen muss.

Ich probiers mal.. entweder jetzt oder morgen

Viele Grüße,

Stefan
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat