Zitat von
turboPASCAL:
Vielen Dank, das muss ich mir erst einmal angucken (durchdenken)pTo[x + Png.Width] := Alpha or Alpha shl 8 or Alpha shl 16;
Naja, das ist im Prinzip das Gleiche wie oben:
Pixels[x,y]:=RGB(Scanline^[x],Scanline^[x],Scanline^[x]);
Wenn du nicht darauf angewiesen bist, das es nur Grau-Werte in deinem Bild gibt, kannst du in meinem Beispiel die Schleife dahin abändern:
Delphi-Quellcode:
for y:=0 to png.Height-1 do
begin
Scanline:=png.AlphaScanline[y];
ToScanLine:=AlphaBMP.ScanLine[y];
CopyMemory(ToScanLine,Scanline,png.Width);
end;
Schneller gehts
imho nicht.