cs_AgentAmine
Messages postés28Date d'inscriptionmercredi 24 juin 2009StatutMembreDernière intervention11 avril 2012
-
24 août 2011 à 05:20
cs_AgentAmine
Messages postés28Date d'inscriptionmercredi 24 juin 2009StatutMembreDernière intervention11 avril 2012
-
24 août 2011 à 05:20
Salut
je veut changer les valeur rgb et l'alpha d'une image png en utilisant scanline ..c'est plus rapide que GetDIBits et SetDIBits, la probleme et que ca marche pa :
type
PRGBQuadArray = ^TRGBQuadArray;
TRGBQuadArray = array [Byte] of TRGBQuad;
procedure TForm1.Button1Click(Sender: TObject);
var Png:tpngimage; x,y:integer; ptr:PRGBQuadArray;
begin
Png := tpngimage.Create;
Png.LoadFromFile('c:\pic.png');
for y := 0 to Png.Height-1 do
begin
Ptr := Png.ScanLine[y];
for x := 0 to Png.Width-1 do
begin
Ptr[x].rgbReserved := 255;
//Ptr[x].G := 0;
//Ptr[x].B := 0;
//ptr[x].A := 0;
end;
end;
Png.SaveToFile('C:\test.png');
Png.Free;
end;