Png Scanline

cs_AgentAmine Messages postés 28 Date d'inscription mercredi 24 juin 2009 Statut Membre Dernière intervention 11 avril 2012 - 24 août 2011 à 05:20
cs_AgentAmine Messages postés 28 Date d'inscription mercredi 24 juin 2009 Statut Membre Dernière intervention 11 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;  


Merci d'avance
AgentAmine;
Rejoignez-nous