高手帮帮忙啊,看看这段代码怎么的,始终显示不出来啊?

fox_wolf_8 2009-06-10 10:33:48

procedure TForm3.ImageEnMView1ImageSelect(Sender: TObject; idx: Integer);
var
g: TGPGraphics;
img:TGPBitmap;
n:Single;
w, h: UINT;
begin
n:=0.50;
bmp:=ImageEnMView1.GetBitmap(ImageEnMView1.SelectedImage);
g:= TGPGraphics.Create(Image1.Canvas.Handle);
img:=TGPBitmap.Create;
img.FromHBITMAP(bmp.Handle,bmp.Palette);
w := img.GetWidth;
h := img.GetHeight;
g.SetInterpolationMode(InterpolationModeHighQualityBilinear);
g.DrawImage(img, MakeRect(0, 0, 0.5*w, 0.5*h), 0, 0, w, h, UnitPixel);
img.Free;
g.Free;

我觉得是img.FromHBITMAP(bmp.Handle,bmp.Palette);这里有问题,
如果直接换成img:=TGPBitmap.Create('xxx.jpg')的话程序就能正常的显示 ;
请高手帮我看看,是那里错了
...全文
32 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzhifei 2009-06-11
  • 打赏
  • 举报
回复
某此图片可能无法直接用FromHBITMAP,俺检查过,貌似那种单色的图片不行
俺最后是把图形画上去,而不是直接用FromHBITMAP获取
fox_wolf_8 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xzhifei 的回复:]
某此图片可能无法直接用FromHBITMAP,俺检查过,貌似那种单色的图片不行
俺最后是把图形画上去,而不是直接用FromHBITMAP获取
[/Quote]
请问,有没有办法可以解决呢?

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧