如何使用CreatePen绘制空心矩形?
|
由于在绘制小圆角矩形时,在GDI +中使用DrawArc函数不是很准确,因此我改用RoundRect。
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Dim hDC As IntPtr = e.Graphics.GetHdc
Dim rc As New Rectangle(10, 10, 64, 24)
Dim hPen As IntPtr = Win32.CreatePen(Win32.PenStyle.PS_SOLID, 0, _
ColorTranslator.ToWin32(Color.Green))
Dim hOldPen As IntPtr = Win32.SelectObject(hDC, hPen)
Call Win32.RoundRect(hDC, rc.Left, rc.Top, rc.Right, rc.Bottom, 10, 10)
Win32.SelectObject(hDC, hOldPen)
Win32.DeleteObject(hPen)
e.Graphics.ReleaseHdc(hDC)
MyBase.OnPaint(e)
End Sub
这将绘制一个不错的圆角矩形,但也会用白色笔刷填充该矩形,以擦除我不想删除的内容。
如何在不删除矩形内部的情况下绘制此图形?
没有找到相关结果
已邀请:
2 个回复
埃输林桨铃
剑哎