我觉得自己对GDI+的graphic和bitmap理解有问题,但不知道问题在哪
麻烦大神给解释下,下边的代码为什么不能把Picture1的图像画到picture2里
Private Sub Command1_Click()
Call InitGDIPlus
Dim G1 As Long
Dim G2 As Long
Dim B1 As Long
Dim Brush As Long
Dim Ret As String
Ret = Ret & "," & GdipCreateFromHDC(Picture1.hdc, G1)
Ret = Ret & "," & GdipCreateFromHDC(Picture2.hdc, G2)
'创建P1的位图
Ret = Ret & "," & GdipCreateBitmapFromGraphics(50, 50, G1, B1)
'用P1的位图创建笔刷
Ret = Ret & "," & GdipCreateTexture(B1, WrapModeTile, Brush)
'刷P2
Ret = Ret & "," & GdipFillRectangle(G2, Brush, 0, 0, 100, 100)
'清理
Call GdipDeleteBrush(Brush)
Call GdipDisposeImage(B1)
Call GdipDeleteGraphics(G1)
Call GdipDeleteGraphics(G2)
Call TerminateGDIPlus
'
Picture1.Refresh
Picture2.Refresh
MsgBox Ret
End Sub
麻烦大神给解释下,下边的代码为什么不能把Picture1的图像画到picture2里
Private Sub Command1_Click()
Call InitGDIPlus
Dim G1 As Long
Dim G2 As Long
Dim B1 As Long
Dim Brush As Long
Dim Ret As String
Ret = Ret & "," & GdipCreateFromHDC(Picture1.hdc, G1)
Ret = Ret & "," & GdipCreateFromHDC(Picture2.hdc, G2)
'创建P1的位图
Ret = Ret & "," & GdipCreateBitmapFromGraphics(50, 50, G1, B1)
'用P1的位图创建笔刷
Ret = Ret & "," & GdipCreateTexture(B1, WrapModeTile, Brush)
'刷P2
Ret = Ret & "," & GdipFillRectangle(G2, Brush, 0, 0, 100, 100)
'清理
Call GdipDeleteBrush(Brush)
Call GdipDisposeImage(B1)
Call GdipDeleteGraphics(G1)
Call GdipDeleteGraphics(G2)
Call TerminateGDIPlus
'
Picture1.Refresh
Picture2.Refresh
MsgBox Ret
End Sub

