我正在尝试创建一个VB.net表单应用程序,以根据预订状态在视觉上填写不同颜色的平面图。
基本的平面图是白色的,根据一些变量的想法是在不同的公寓中以不同颜色着色。
我已经尝试将.png图片叠加在一起但是这不起作用,因为只要覆盖2个以上的PNG,视觉工作室就会出现透明度的非真实性。
绘制多边形的成功率不高
这是我想要实现的目标,我将非常感谢您提供一些帮助或建议:
答案 0 :(得分:3)
尝试使用具有alpha值的画笔在图像上绘图:
Protected Overrides Sub OnPaint(e As PaintEventArgs)
e.Graphics.DrawImage(backImage, New Point(0, 0))
Dim room As New List(Of Point)
room.Add(New Point(45, 48))
room.Add(New Point(165, 48))
room.Add(New Point(190, 75))
room.Add(New Point(190, 234))
room.Add(New Point(150, 234))
room.Add(New Point(150, 245))
room.Add(New Point(45, 245))
Using br As New SolidBrush(Color.FromArgb(100, Color.Blue))
e.Graphics.FillPolygon(br, room.ToArray())
End Using
Using p As New Pen(Color.Blue, 3)
e.Graphics.DrawPolygon(p, room.ToArray())
End Using
MyBase.OnPaint(e)
End Sub
结果: