应该可以, Private Sub Command2_Click() Set Command1.Picture = Picture1.Image End SubPrivate Sub Form_Load() Picture1.Line (0, 0)-(Picture1.ScaleWidth, Picture1.ScaleHeight), vbMagentaEnd Sub 我只是用line画线生成的iamge,和API的StretchBlt生成的Image应该是一样的道理,你调整一下picture和command的大小试试,可以是因为不在可视区内吧
真的不行啊,要不就是我哪里做错了,楼上的现在有空吗,要不你试一下吧,看看我哪里写错了,代码就下面几行: Private Declare Function StretchBlt Lib "GDI32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As LongPrivate Sub Command1_Click() Picture1.Picture = LoadPicture("d:\1.jpg")
Command1.Picture = LoadPicture("C:\2.bmp")这样子换呢?
set Command.picture=Picture2.picture
Private Sub Command2_Click()
Set Command1.Picture = Picture1.Image
End SubPrivate Sub Form_Load()
Picture1.Line (0, 0)-(Picture1.ScaleWidth, Picture1.ScaleHeight), vbMagentaEnd Sub
我只是用line画线生成的iamge,和API的StretchBlt生成的Image应该是一样的道理,你调整一下picture和command的大小试试,可以是因为不在可视区内吧
Private Declare Function StretchBlt Lib "GDI32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As LongPrivate Sub Command1_Click() Picture1.Picture = LoadPicture("d:\1.jpg")
StretchBlt Picture2.hdc, 0, 0, Picture2.Width, Picture2.Height, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, vbSrcCopy
Command1.Picture = Picture2.Image
End Sub
多谢了~~