procedure TForm1.Button1Click(Sender: TObject);
const
PATH = 'C:\';
var
png1, png2, png3: TPNGObject;
bmp: TBitmap;
begin
png1 := TPNGObject.Create;
png2 := TPNGObject.Create;
png3 := TPNGObject.Create;
try
png1.LoadFromFile(PATH+'a.png');
png2.LoadFromFile(PATH+'b.png');
png3.LoadFromFile(PATH+'c.png');
bmp := TBitmap.Create;
try
bmp.Width := png1.Width + png2.Width + png3.Width;
bmp.Height := png1.Height;
bmp.PixelFormat:= pf32bit;
bmp.Canvas.Brush.Color := clWhite;
bmp.Canvas.FillRect(Rect(0, 0, bmp.Width, bmp.Height));
bmp.TransparentColor := clWhite; bmp.Transparent := True; png1.Draw(bmp.Canvas, Rect(0, 0, png1.Width, png1.Height));
png2.Draw(bmp.Canvas, Rect(png1.Width, 0, png1.Width + png2.Width, png2.Height));
png3.Draw(bmp.Canvas, Rect(png1.Width + png2.Width, 0,
png1.Width + png2.Width + png3.Width, png3.Height));
bmp.SaveToFile(PATH+'abc.png'); Image1.Picture.Assign(bmp); ConvertToPNG(bmp,'c:\res.png'); finally
bmp.Free
end
finally
png1.Free;
png2.Free;
png3.Free
end;
end;