一下代码需要这几个单元:jpeg,GDIPAPI,GDIPOBJ,ActiveX, GDIPUTIL
//以下代码可以正常显示BMP和JPEG格式图片,PNG的就会出错
var
Stream: TMemoryStream;
istreamTest: TStreamAdapter;
GPImage: TGPImage;
Graphic: TGPGraphics;
begin//GDIPLUS
Stream := TMemoryStream.Create;
Stream.LoadFromFile('sign.png');
TStreamAdapter.Create(Stream);
istreamTest := TStreamAdapter.Create(Stream);
Graphic := TGPGraphics.Create(Canvas.Handle);
try
GPImage := TGPImage.Create(istreamTest);
// GPImage := TGPImage.Create('1.bmp');
//这句会报错,如果图片是BMP就没错
Graphic.DrawImage(GPImage, 100, 100);
finally
Stream.Free;
GPImage.Free;
Graphic.Free;
end;
//一下代码可以把png格式的图片转换为bmp格式的图片
var
tmp: TGpBitmap;
Adapter: TStreamAdapter;
Stream: TMemoryStream;
Clsid: TGUID;
Graphic: TGPGraphics;
begin