2012-11-27 200 views
2

我想放大/缩小按钮,但无论出于什么原因,我都无法弄清楚如何保持宽高比并调整图像大小 - 例如90%或110%调整图像大小并保持长宽比

问题是,我试图做到这一点,当您点击4次缩小按钮,然后单击放大按钮4次,图像将是其原始大小。没有定义宽度,因为我试图将新宽度设置为现有宽度的90%/ 110%,但显然乘以0.9和1.1并不能正确执行。

目前,我有以下代码..

Dim source As New Bitmap(PictureBox1.Image) 
    Dim NewWidth As Integer = source.Width * 0.9 
    Dim NewHeight As Integer = NewWidth * (source.Height/source.Width) 

任何帮助表示赞赏。我敢肯定,我只是过度思考它,但一些指导,将不胜感激:)

+1

对于你NewHeight只是做你用NewWidth做的一样。理解起来很简单。 'NewHeight = source.Height * 0.9' –

+0

为什么不只是'Dim NewHeight As Integer = source.Height * 0.9'? –

+0

这是我尝试的第一件事,但它不起作用,因为(100 * 0.9)* 1.1!= 100,这就是问题所在。 – Justin

回答

3

最好的办法是开始每个调整大小操作原始图像的副本。让你的按钮代表总变焦系数(所以说+为0.1增加缩放, - 为 - 减去0.1缩放)。

您希望每次都从原始图像开始,否则后续操作会由于放大和缩小内在的插值而快速扭曲图像。

+0

我甚至没有想到这一点。我会很快写出一些东西,并让你知道它是怎么回事。感谢您的想法:) – Justin

+0

很高兴我可以帮助... –

相关问题