◆◆◆请教如何通过一张黑白位图来确定窗口的外形?◆◆◆ 请教如何通过一张黑白位图来确定窗口的外形? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看这个里面,我的回复。http://expert.csdn.net/Expert/topic/1226/1226688.xml?temp=.3816645我的回复里是对一个Panel的操作,你把Panel 换成Form就可以了。 to zwjchina(蒲石): 我看了你的代码,你的意思创建很多个RectRegion,然后进行合并,对吗? 那要是位图的边线很复杂,岂不是太麻烦? 还有,如果要有用户来指定位图呢?(换肤功能) 当然你也可以不使用逐行的区域合并,这种方法效率不高。但是你还是要找个相应的取图形的算法,使用CreatePolygonRgn来创建区域. 谢谢zwjchina(蒲石) ,我先试一下。 to w_tiger(老虎) :能仔细说明一下吗? 什么叫掩膜方式? 参考一下这个的运行结果procedure TForm1.Button3Click(Sender: TObject);var Rgn:HRgn;begin BeginPath(Canvas.Handle); SetBkMode(Canvas.Handle,TRANSPARENT); Canvas.Font.Name:= '宋体'; Canvas.Font.Size:=100; Canvas.TextOut(20,20,'窗口'); Canvas.Font.Name:= '隶书'; Canvas.Font.Size:=20; Canvas.TextOut(150,150,'文字窗体'); EndPath(Canvas.Handle); Rgn:=PathToRegion(Canvas.Handle); Color:=clRed; SetWindowRgn(Handle,Rgn,true);end; 以黑白颜色表示图形,黑的颜色是000000,白的是FFFFFF,这种图片就可以成为掩膜图片,而且一般掩膜图片都是运算生成的,也有预先制作的,如望远镜看到的视窗效果的掩膜就是预先做好的。掩膜的用处就是处理前景与背景图片不规则镶嵌的。掩膜细分为前景掩膜和背景掩膜前景掩膜与前景,背景掩膜与背景,然后两个掩膜合成图再或,则生成完整无缝拼接的图形,实现较好的镂空效果,且不闪烁。 非常感谢 w_tiger(老虎) .高手啊! to w_tiger(老虎) : 但好像不能使用位图啊。 问大家一个小问题,小弟解决不了,急。 Delphi6:使用TQuickRep设计报表打开时出现以下错误,不知什么原因,请高手指点,解决马上结帖。 如何截获滚动条(tscrollbar)的鼠标按下事件onmousedown? 求delphi操作数据库代码 多界面响应消息问题 我能不能用个i变量来控制label 求助一个背包算法! 如何解决SPCOMM接收数据丢包和接收数据错误的问题?? Delphi7下单线程中如何并发调用1个过程?如用线程池,如何操作及注意事项? 建立了三个listview,怎么实现三个控件的滚动条同步滚动? 唉!!这是怎么了. 找组件
http://expert.csdn.net/Expert/topic/1226/1226688.xml?temp=.3816645我的回复里是对一个Panel的操作,你把Panel 换成Form就可以了。
我看了你的代码,你的意思创建很多个RectRegion,然后进行合并,对吗? 那要是位图的边线很复杂,岂不是太麻烦? 还有,如果要有用户来指定位图呢?(换肤功能)
但是你还是要找个相应的取图形的算法,使用CreatePolygonRgn
来创建区域.
var Rgn:HRgn;
begin
BeginPath(Canvas.Handle);
SetBkMode(Canvas.Handle,TRANSPARENT);
Canvas.Font.Name:= '宋体';
Canvas.Font.Size:=100;
Canvas.TextOut(20,20,'窗口');
Canvas.Font.Name:= '隶书';
Canvas.Font.Size:=20;
Canvas.TextOut(150,150,'文字窗体');
EndPath(Canvas.Handle);
Rgn:=PathToRegion(Canvas.Handle);
Color:=clRed;
SetWindowRgn(Handle,Rgn,true);
end;
以黑白颜色表示图形,黑的颜色是000000,白的是FFFFFF,这种图片就可以成为掩膜图片,而且一般掩膜图片都是运算生成的,也有预先制作的,如望远镜看到的视窗效果的掩膜就是预先做好的。掩膜的用处就是处理前景与背景图片不规则镶嵌的。
掩膜细分为前景掩膜和背景掩膜
前景掩膜与前景,背景掩膜与背景,然后两个掩膜合成图再或,则生成完整无缝拼接的图形,实现较好的镂空效果,且不闪烁。