首页 热点资讯 义务教育 高等教育 出国留学 考研考公

VB中如何调整图象大小

发布网友 发布时间:2022-04-23 09:23

我来回答

5个回答

热心网友 时间:2023-10-09 10:27

比窗体小的图片可以不用理
比窗体大的图片
先计算窗体的长宽比 再相应将将图片按长宽比缩放即可

建议你最好自己写一个子过程 将图片控件作为形参传入 这样就可以通用地对所有图片控件进行自动适应的生效

比如下面这个子过程
传入形参就是一个image控件名 一个窗体名

Private Sub Command1_Click()
Call ZoomImages(Image1, Me, True)
End Sub

Sub ZoomImages(objImg As image, objFrm As Form, Optional ByVal isCenter As Boolean = False)
Dim zoomScale# '缩放比率
objImg.Stretch = True
If objImg.ToolTipText <> "" Then 'InStr(objImg.ToolTipText, "$") <> 0 And
objImg.Width = CSng(Mid$(objImg.ToolTipText, 1, InStr(objImg.ToolTipText, "$") - 1))
objImg.Height = CSng(Mid$(objImg.ToolTipText, InStr(objImg.ToolTipText, "$") + 1))
objImg.ToolTipText = ""
If isCenter And objImg.Width < objFrm.Width And objImg.Height < objFrm.Height Then '判断是否居中
objImg.Top = (objFrm.Height - objImg.Height) / 2
objImg.Left = (objFrm.Width - objImg.Width) / 2
End If
Else
objImg.ToolTipText = objImg.Width & "$" & objImg.Height '记录初始大小 以备还原时读取
'方法①
' zoomScale = IIf(objImg.Width > objImg.Height, objFrm.Width / objImg.Width, objFrm.Height / objImg.Height)
' objImg.Stretch = False
' objImg.Height = objImg.Height * zoomScale - 405
' objImg.Width = objImg.Width * zoomScale - 120
' objImg.Stretch = True
' objImg.Top = 0
' objImg.Left = 0
'方法②
objImg.Width = ScaleWidth
objImg.Height = ScaleHeight
objImg.Left = ScaleLeft
objImg.Top = ScaleTop
End If
'objImg.Stretch = False
End Sub

热心网友 时间:2023-10-09 10:27

好说:
加入一个Image.
在它的picture属性里找一张你想要的图片.
把它的stretchy设置为true
然后编写代码:
Private Sub Form_Load()
Image1.Left = ScaleLeft
Image1.Top = ScaleTop
End Sub

Private Sub Form_Resize()
Image1.Width = ScaleWidth
Image1.Height = ScaleHeight
End Sub

你就可以随意调整图片的大小了.
我现在才知道.VB是这么好玩!跟别人回答问题,很兴奋!!!谢谢你给我机会.呵.

热心网友 时间:2023-10-09 10:28

用image控件,设置开始时与窗体一样大就好了,stretch设置为true
image1.height=(me.height-200)/2
image1.top=100
image1.width=(me.width-200)/2
image1.left=100
就可以了
秋色烽火的太复杂了,不敢恭维。。。

热心网友 时间:2023-10-09 10:28

可以,在图像里设置长宽就可以了

热心网友 时间:2023-10-09 10:29

1楼的简单

2楼的专业~~~

你都可以采纳

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com