Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Bitmap 32Bit und Alpha Kanal

  Alt 19. Sep 2018, 16:49
Bei Bitmap32 brauchst du die Verrenkung mit der Scanline nicht mehr zu machen. Die Eigenschaft Pixels[] ist dort anders, und weitaus performanter umgesetzt als bei den alten VCL Bitmaps. Versuche mal, die Farben so zuzuweisen:
Delphi-Quellcode:
  R:=0; G:=0; B:=0; Alpha:=0;
 
  for y:=0 to tmp.Height-1 do
    for x:=0 to tmp.Width-1 do
      tmp.Pixels[x, y] := Color32(R, G, B, A);
Das zeichnen dann besser auch anders herum: tmp.DrawTo(Canvas.Handle), da Canvas.Draw() den Alpha-Kanal möglicherweise nicht beachtet. Sicher bin ich mir nicht, aber mit der hier genannten Variante bin ich immer gut gefahren.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat