十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用GDI
成都创新互联公司成都企业网站建设服务,提供网站设计、做网站网站开发,网站定制,建网站,网站搭建,网站设计,成都响应式网站建设公司,网页设计师打造企业风格网站,提供周到的售前咨询和贴心的售后服务。欢迎咨询做网站需要多少钱:13518219792
先建一个6400*4800的Image 类的位图图像 作为GDI画板
然后用Drawimage方法,加载小图像,并按坐标位置画进去
然后保存成文件
我有一个相似功能的VB.net代码,可以给你参考
Private Declare Function AlphaBlend Lib "msimg32.dll" (ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal BLENDFUNCT As Long) As Long
Private Sub Command1_Click()
AlphaBlend Picture1.hdc, 0, 0, 100, 100, Picture2.hdc, 0, 0, 100, 100, 128 * H10000
End Sub
AlphaBlend 就是实现两幅图片的alpha混合
透明度 参数 BLENDFUNCT 使用时 取值为 透明度(0-255)*H10000
这个简单啊,用picturebox控件的PaintPicture方法就可以实现两张图片的叠加,用不着API。
Panel控件就是容器,在窗体上添加一个Panel1控件,将其拖放到合适的位置与大小,然后设置Panel1控件的:
AutoScroll 属性为True
Panel1.AutoScrollMinSize 属性
Panel1控件里,添加你的图片框(此时可以滚动Panel1控件里的滚动条)
OK了吧!
Form1的不透明度改为5%以内就可以点击到form2的控件
对应form2按钮的位置在form1画一个picturebox,背景色为黑色,窗体的透明色改为与背景色相同的颜色