请教:如何让图片按比例缩放至PictureBox的大小!(VB.NET WINFORM)

道宣 2004-08-28 11:09:24
请教:如何让图片按比例缩放至PictureBox的大小!
...全文
1898 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
道宣 2004-09-09
  • 打赏
  • 举报
回复
谢谢啦
aycn 2004-09-08
  • 打赏
  • 举报
回复
我这里有现成的函数,其实楼上不少高手没贴出来是想让你自已动手的

Friend Sub SetPictureBoxImage(ByVal pb As PictureBox, ByVal sFileName As String)
'定义一个Bitmap对象作为绘制的接受对象
Dim bmp As New Bitmap(pb.Width, pb.Height)
Dim g As Graphics = Graphics.FromImage(bmp)

Dim img As Image = Image.FromFile(sFileName)
Dim rectImage As New Rectangle(0, 0, bmp.Width, bmp.Height)
'按比例缩放
GetScaleZoomRect(img.Width, img.Height, rectImage.Width, rectImage.Height)
g.DrawImage(img, rectImage)

pb.Image = bmp
End Sub

Friend Function GetScaleZoomRect(ByVal nSrcWidth As Integer, ByVal nSrcHeight As Integer, ByRef nDstWidth As Integer, ByRef nDstHeight As Integer)
If nSrcWidth / nSrcHeight < nDstWidth / nDstHeight Then
nDstWidth = nDstHeight * (nSrcWidth / nSrcHeight)
Else
nDstHeight = nDstWidth * (nSrcHeight / nSrcWidth)
End If
End Function
eytech 2004-09-08
  • 打赏
  • 举报
回复
道宣 2004-09-08
  • 打赏
  • 举报
回复
谁来救俺,感激不尽啊!
followafterwind 2004-09-04
  • 打赏
  • 举报
回复
ding
道宣 2004-08-30
  • 打赏
  • 举报
回复
能给点示像代码吗?GDI我还没接触过,不太了解!
zihu928 2004-08-30
  • 打赏
  • 举报
回复
非常简单,这个我写过,就是计算长宽比,按比例缩放 ,得到数据后准备绘图。
绘图也是很简单了,就是调用graphic的draw方法,其中又一个重载方法是带有frectangle参数的,它设定了图片尺寸,你把它设置成图片缩放后尺寸就OK了。
道宣 2004-08-29
  • 打赏
  • 举报
回复
我想实现像WinXP的图像查看器那样的效果,请各位有经验的大哥提供点建议!
boboox 2004-08-29
  • 打赏
  • 举报
回复
关注。。。
道宣 2004-08-29
  • 打赏
  • 举报
回复
this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
会变形
有没有不变形的方法?
The123 2004-08-29
  • 打赏
  • 举报
回复
不变形?那你那个PICTUREBOX的长宽比例要和你放置的图片的长宽比例相同才行
koalapopo 2004-08-29
  • 打赏
  • 举报
回复
还想听听有人有方法吗
thelostman 2004-08-28
  • 打赏
  • 举报
回复
一般来说,你需要自己把图像的长宽比例算出来,然后再在picturebox里将长或者宽作为最值 按比例放置
The123 2004-08-28
  • 打赏
  • 举报
回复
PictureBox里有个属性SizeMode

this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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