Autor Beitrag
jojo-sp
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 317

Windows XP Prof, Vista Ultimate & Home Premium, Windows 7
Delphi 7 Enterprise, Delphi 2009
BeitragVerfasst: Di 03.05.11 10:34 
Hallo

Zerbreche mir gerade den Kopf wie ich das Problem lösen kann, dass in meinem Image, in das ich eine png Datei lade, einen nicht transparenten Text ausgeben kann.

Laden der PNG Datei:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
Png:= TPngImage.Create;

  if Png <> nil then
  begin
    try
      Png.LoadFromFile('my.png');
      if img <> nil then img.Picture.Bitmap.Assign(Png);
    finally
      Png.Free;
    end;
  end;


Jetzt habe ich mit Img.Canvas.TextOut versucht einen Text auf dem Image auszugeben. Resultat: Der Text ist Transparent. :-(
Mein zweiter Versuch war mit bitblt (mit allen varianten SRCCOPY, SRCDRAW, usw) eine temporär für den text erzeugte bitmap auf das image zu klatschen. Resultat: Der Text ist Transparent -.-
Desweiteren habe ich mit den Solid eigenschaften von brush und Pen gespielt, aber auf die transparenz des Textes hat es keine Auswirkung.

Gibt es noch eine weitere Möglichkeit oder übersehe ich etwas?

_________________
Ist der Ruf erst ruiniert, lebts sich gänzlich ungeniert...
Wilhelm Busch (1832 - 1908)
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Di 03.05.11 10:47 
Den Text auf ein Hilfsbitmap malen lasse.
Über Scanline die Pixel die den Text darstellen im Zielbild setzen lassen und dort wo der Text ist den Alphakanal auf 255 setzen.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
jojo-sp Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 317

Windows XP Prof, Vista Ultimate & Home Premium, Windows 7
Delphi 7 Enterprise, Delphi 2009
BeitragVerfasst: Di 03.05.11 13:58 
Danke!

Werde das ausprobieren!

_________________
Ist der Ruf erst ruiniert, lebts sich gänzlich ungeniert...
Wilhelm Busch (1832 - 1908)