我故意打电话
Me.Invalidate(MyDesiredRepaintRectangle)
在我的UserControl中。
在OnPaint事件中,我想从缓冲区位图绘制到e.Graphics:
Protected Overrides Sub OnPaint(e As PaintEventArgs)
If Not _Buffer Is Nothing Then
e.Graphics.DrawImage(_Buffer, e.ClipRectangle)
End If
End Sub
但我在行
中做错了什么e.Graphics.DrawImage(_Buffer, e.ClipRectangle)
......我想。目前整个_Buffer以拉伸方式绘制,以便它适合e.ClipRectangle。
_Buffer与usercontrol的大小相同。
我不确定如何在没有任何拉伸的情况下将所需部分绘制到e.Graphics上。
有人可以告诉我我做错了吗?
答案 0 :(得分:0)
知道了:
If Not _Buffer Is Nothing Then
e.Graphics.DrawImage(_Buffer, e.ClipRectangle.X, e.ClipRectangle.Y, e.ClipRectangle, GraphicsUnit.Pixel)
End If