如何使用图片做窗体的形状 如题,在Delphi中该如何使用图片来做窗口的形状呢,最好就是可以支持 Gif 或是 png等透明格式的图片,因bmp图片再去掉指定颜色的话,边缘会不圆滑。请问一下应该怎么做,或是有什么第三方控件可以直接指定透明格式图片做为窗口形状的,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://rabbitfox.blog.sohu.com/33269246.html 这个就算加上下面的代码,也是需要去掉一些颜色来显示,这样边缘不光滑,不好意思,不是要这样的,我是想要用一个透明图片来做窗口的形状,然后上面再放些按钮或是edit什么的 试过了,要去掉的地方,做成一种颜色,然后再去掉这种颜色来显示图片,但是无论图片的边缘或是过度做得多好,去掉颜色之后还是会有残留颜色,形成锯齿,所以我才想看一下有没有其它第三方控件,直接支持让PNG或是GIF等透明的图片格式来做成窗口的形状,这样就应该不会有锯齿出现的!也就是说,透明图片做成什么样,Form就可以较完美的只显示出此图片的形状,,,并能在上面添加其它控件,可拖动 BMP 的话好办,PNG 可以看看 Raize 最新版有没有支持到。它有个现成的控件干这事。 Raize 我最新的试过5.5 了 RzFormShape ,还是只能处理,真不明白它,Raize ,既然png的不支持透明的,那和bmp有何区别,还要弄两个格式,晕死了,靠去掉颜色来显示形状的,我相信,真正做出来用的程序,没有人会这么做的 可以用gdi画png啊,窗体本身设置成透明的就可以。 procedure TForm1.GDIDrawPngUseRect(sPngFile: string);var GPGraph: TGPGraphics; GPImage: TGPImage; GPRect: TGPRect;begin GPGraph := TGPGraphics.Create(Canvas.Handle); GPImage := TGPImage.Create(sPngFile); try GPRect.X := 0; GPRect.Y := 0; GPRect.Width := GPImage.GetWidth; GPRect.Height := GPIMage.GetHeight; Width := GPImage.GetWidth; Height := GPIMage.GetHeight; GPGraph.DrawImage(GPImage,GPRect); finally GPImage.Free; GPGraph.Free; end;end; 画png图片的例子。 COM+ 调用COM+时 不能联接到数据库 access中如何实现字段的默认值是一个常数+一个按规则增大的数? 有关于FTP的问题? 如何封装可执行文件到dll模块,调用dll的模块已完成,dll借口也完成 AdoQuery如何查找資料 renzhm(戴尔飞)领分 用DBGrid控件时,怎么做到双击间隔的中缝就可以根据列的内容的大小自动调节宽度呢? 在Windows2000下怎样释放Excel.Application?? 各位,请一定帮忙 绝对的delphi书籍好站 Image的图片切换 delphi操作excel時,如何對導出的數據進行公式計算?(如:SUM)
我是想要用一个透明图片来做窗口的形状,然后上面再放些按钮或是edit什么的
PNG或是GIF等透明的图片格式来做成窗口的形状,这样就应该不会有锯齿出现的!也就是说,透明图片做成什么样,Form就可以较完美的只显示出此图片的形状,,,并能在上面添加其它控件,可拖动
PNG 可以看看 Raize 最新版有没有支持到。
它有个现成的控件干这事。
var GPGraph: TGPGraphics;
GPImage: TGPImage;
GPRect: TGPRect;
begin
GPGraph := TGPGraphics.Create(Canvas.Handle);
GPImage := TGPImage.Create(sPngFile);
try
GPRect.X := 0;
GPRect.Y := 0;
GPRect.Width := GPImage.GetWidth;
GPRect.Height := GPIMage.GetHeight;
Width := GPImage.GetWidth;
Height := GPIMage.GetHeight;
GPGraph.DrawImage(GPImage,GPRect);
finally
GPImage.Free;
GPGraph.Free;
end;
end; 画png图片的例子。