//正常显示图片, 没有变换
uses GDIPAPI, GDIPOBJ;
procedure TForm1.FormPaint(Sender: TObject);
var
g: TGPGraphics;
img: TGPImage;
begin
g := TGPGraphics.Create(Canvas.Handle);
img := TGPImage.Create('c:\temp\test.png'); {测试文件要存在}
g.DrawImage(img, 0, 0, img.GetWidth, img.GetHeight);
img.Free;
g.Free;
end;
//效果图:
//添加颜色变换
uses GDIPAPI, GDIPOBJ;
procedure TForm1.FormPaint(Sender: TObject);
var
g: TGPGraphics;
img: TGPImage;
imgAtt: TGPImageAttributes;
const
ColorMatrix: TColorMatrix = (
(1.0, 0.0, 0.0, 0.0, 0.0),
(0.0, 1.0, 0.0, 0.0, 0.0),
(0.0, 0.0, 1.0, 0.0, 0.0),
(0.0, 0.0, 0.0, 1.0, 0.0),
(1.0, 0.0, 0.0, 0.0, 1.0));
begin
g := TGPGraphics.Create(Canvas.Handle);
img := TGPImage.Create('c:\temp\test.png'); {测试文件要存在}
imgAtt := TGPImageAttributes.Create;
imgAtt.SetColorMatrix(colorMatrix, ColorMatrixFlagsDefault, ColorAdjustTypeDefault);
g.DrawImage(
img,
MakeRect(0,0,img.GetWidth,img.GetHeight),
0,
0,
img.GetWidth,
img.GetHeight,
UnitPixel,
imgAtt);
imgAtt.Free;
img.Free;
g.Free;
end;
//效果图:
这个话题还有很多内容, 先弄这个例子算是给 M. Rokkaei 的回答.