AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TImage: Bild laden, Auswahlrahmen zeichnen,Farben vermischen
Thema durchsuchen
Ansicht
Themen-Optionen

TImage: Bild laden, Auswahlrahmen zeichnen,Farben vermischen

Ein Thema von S - tefano · begonnen am 12. Okt 2008 · letzter Beitrag vom 13. Okt 2008
 
Benutzerbild von S - tefano
S - tefano

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

TImage: Bild laden, Auswahlrahmen zeichnen,Farben vermischen

  Alt 12. Okt 2008, 03:07
Hallihallo,

ich hatte letztens schonmal in der gleichen Sache gepostet (VCL->Ein TImage über ein TImage32 legen... oder so), eigentlich bin ich jetzt nur insofern weiter, dass ich mehr Experimente hinter mir hab

Jedenfalls:
Ich will ein Programm schreiben, mit dem man bestimmte Ausschnitte aus Fotos kopieren kann. Das ganze natürlich mit ein paar nützlichen Hilfestellungen, sonst könnte man ja auch jedes Bildprogramm benutzen.
Man soll also ein Bild laden können, das einem dann auf der Form angezeigt wird. Es wird eine Auswahlbox über das Bild gezogen, damit man sieht was man sich jetzt genau holt. Diese Auswahlbox soll so aussehen wie der Rahmen im Windows XP-Explorer beim Auswählen von Dateien, nur in Grün
Jetzt hab ich die verschiedensten Sachen probiert: Foto in ein Image laden, Rahmen auf anderer Komponente zeichnen, die dann drübergelegt wird (bzw die ganze Zeit über dem Image liegt). Der innere Bereich des Rahmens soll ja aber halbtransparent sein. Also: Den Rahmen mit Scanline und pf32bit zeichnen und das Alpha-Byte entsprechend an den Stellen setzen, wo der Hintergrund durchschimmern soll. Problem dabei: Die komplette Box-Zeichnungs-Komponente wird weis, bis auf die Auswahlbox. Die hat ihre Farben so wie ich gerne hätte, nur dass im inneren Bereich nichts durchschimmert. Transparent=true ändert daran nichts.

Oder auch: Im Anzeige-Image nur ne Kopieinstanz des Fotos laden, und direkt im Image zeichnen (das Blending also selber rechnen). Problem: Zeichnen lässt mich das TImage wohl nur, wenn eine echte Bitmap geladen ist (der unwahrscheinliche Fall heutzutage...). Bei Jpegs (oder was auch immer) bekomme ich dann Zugriffsverletzung.

Oooooder: Wieder zwei Komponenten übereinander legen, nur ohne Alphabyte und Scanline, dafür mit Paintbox und komplett selber malen. Hier die Transparenz dann wieder selber rechnen, indem man nachguckt welchen Wert das Bild im TImage an der entsprechenden Stelle hat. (Also Paintbox auf Image, für die Pixel in der Paintbox manuell nachsehen was im Image drunter liegt und selber mischen). Problem: Auch lesen darf ich von der Image-Canvas nicht wenn keine echte Bitmap geladen ist.

What can I do? Ich würde es irgendwie gerne vermeiden wollen, je nach Dateityp ein anderes Zeichenverfahren zu nehmen :/
Das Problem ist ja eigentlich nur, dass ich das innere der Auswahlbox noch leicht gefärbt haben will. Ansonsten müsste ich ja garnicht auf das Image zugreifen. Wobei ich schon gespannt bin, wie ich aus dem Bild dann den gewünschten Bereich rauskopiere, wenn ich ja nicht lesen darf.

Gute Nacht,

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


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz