winform图片容器缩放问题

X-i-n 2019-08-26 11:22:58
最近在做一个图片展示的软件,容器用的是PictureBox(如果有其他更好的容器还请指点)。

因为图片高度在1000px左右,宽度不固定,但是一定会超出屏幕很多。现在想将PictureBox固定高度800px,将图片缩放到高度也是800px,宽度按相同比例进行缩放(垂直方向100%适合容器,水平方向使用PictureBox进度条调整显示区域)。

请问有什么好一点的处理方法吗?(不太方便使用Image类重新定义宽度和高度的方式生成符合要求的图片)。
...全文
313 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
X-i-n 2019-09-03
  • 打赏
  • 举报
回复
最后还是用代码来进行绽放,没有别的好办法。
X-i-n 2019-08-27
  • 打赏
  • 举报
回复
我不需要把图片全装进来,只需要高度和容器一致即可。宽度可以超出屏幕。
X-i-n 2019-08-27
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
算出长宽比,大于picturebox长宽比的,按照长缩放,否则按照宽度缩放
多谢回复。 我这个需求有点特殊。一般做法是创建一个新图片,根据原图片的原始宽高 + 容器高度 进行等比例缩放,然后将新图片设为PictureBox的图片。但我当前场景有点特殊,希望借助容器自身的属性设置来达到缩放目的(比如winform里PictureBox里可以设置StretchImage,使图片填满容器,我的需求和这个不一样的地方是,我只希望高度填满容器,宽度按同比例缩放,不填充容器)
threenewbee 2019-08-27
  • 打赏
  • 举报
回复
算出长宽比,大于picturebox长宽比的,按照长缩放,否则按照宽度缩放
  • 打赏
  • 举报
回复
winform做缩放效果不太理想,可以考虑WPF。
assky124 2019-08-27
  • 打赏
  • 举报
回复
Panel 里套个PictureBox控件,Panel自动滚动条。根据图片设置Picture的宽度 var img = your image var height = 800; var width = img.width/img.height * height; pb.Width = width; pb.Height = height;

111,096

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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