VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 285|回复: 2

[求助] picture大小随着图片大小而改变

[复制链接]
发表于 2018-11-9 12:10:37 | 显示全部楼层 |阅读模式

在截图的时候,如何使picturebox随着图片的大小而改变?
看下面代码:Picture1.Picture = Nothing

Dim hDCtmp As Long, picWidth As Double, picHeight As Double
Dim X As Double
Dim Y As Double
X = Val(Text1.Text)
Y = Val(Text2.Text)

picWidth = Val(Text3.Text)
picHeight = Val(Text4.Text)

hDCtmp = GetDC(0)
BitBlt Picture1.hdc, 0, 0, picWidth, picHeight, hDCtmp, X, Y, vbSrcCopy
Const CAPTUREBLT = &H40000000
Call BitBlt(Picture1.hdc, 0, 0, picWidth, picHeight, hDCtmp, X, Y, vbSrcCopy Or CAPTUREBLT)
'SavePicture Picture1.Image, "c:\1.bmp"
'MsgBox "保存了"
ReleaseDC 0, hDCtmp
SetCapture Me.hwnd
帮忙修改一下,谢谢! 收起
意思就是现在截取的图片贴在picturebox上,大小会等于picturebox的大小,但我要使图片大小等于
picWidth = Val(Text3.Text)
picHeight = Val(Text4.Text)
发表于 2018-11-9 17:01:40 | 显示全部楼层
不该用BitBlt,这个函数是单纯的拷贝,没有缩放功能,应该用StretchBlt
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-14 11:40:39 | 显示全部楼层
解决了。
picWidth = Val(Text3.Text)
picHeight = Val(Text4.Text)
Picture1.Width = picWidth * Screen.TwipsPerPixelX
Picture1.Height = picHeight * Screen.TwipsPerPixelY
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2018-12-18 21:18

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表