缩略图问题??

syasz 2003-08-22 09:11:23
我想在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
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
syasz 2003-08-22
  • 打赏
  • 举报
回复
i see
是autoredraw问题

如果picture1.autoredraw=false
那么在picture2里显示的是picture1背后窗体的一部分
而picture1.autoredraw=true
此时显示缩略图
xayzmb 2003-08-22
  • 打赏
  • 举报
回复
为什么一定要用API呢?
用Paintprcture函数不就行了?
test7979 2003-08-22
  • 打赏
  • 举报
回复
你把那段代码加到一个按钮的事件里面,

运行起来后点一下按钮就能看到图了
射天狼 2003-08-22
  • 打赏
  • 举报
回复
Picture2的AutoSize属性设了吗,如果他不设的话,即使画完了,显示的时候也刷掉了,

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧