我想在picture2中产生picture1的缩略图:
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 Long
Private Sub Form_Load()
Dim ret As Long
Picture1.Picture = LoadPicture("f:\down\305194.jpg")
ret = StretchBlt(Picture2.hdc, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, vbSrcCopy)
If ret <> 0 Then
Debug.Print "success"
End If
End Sub
不知道错在哪里,picture2没有图片显示,我已经设picture1.autosize=true
picture1.scalemode=3
picture2.autosize=false
picture2.scalemode=3
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 Long
Private Sub Form_Load()
Dim ret As Long
Picture1.Picture = LoadPicture("f:\down\305194.jpg")
ret = StretchBlt(Picture2.hdc, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, vbSrcCopy)
If ret <> 0 Then
Debug.Print "success"
End If
End Sub
不知道错在哪里,picture2没有图片显示,我已经设picture1.autosize=true
picture1.scalemode=3
picture2.autosize=false
picture2.scalemode=3
用Paintprcture函数不就行了?
是autoredraw问题如果picture1.autoredraw=false
那么在picture2里显示的是picture1背后窗体的一部分
而picture1.autoredraw=true
此时显示缩略图