C#:使用滚动条缩放图片框图像的简单而实用的方法

时间:2013-08-16 09:30:32

标签: c# winforms image picturebox zooming

是否有一种简单实用的方法来缩放包含滚动条的图片框中的图像?

目前,我在面板中使用了一个自动滚动激活的图片框。要进行缩放,我会放大图片框并使用面板上的滚动条移动它。问题是,它表现得很奇怪。例如:如果放大到远,则上下左边的边框和图像的边距越来越大。

这是缩放方法。我是从here得到的。

private void ZoomInOut(bool zoom)
    {
        //Zoom ratio by which the images will be zoomed by default
        int zoomRatio = 10;
        //Set the zoomed width and height
        int widthZoom = pictureBox_viewer.Width * zoomRatio / 100;
        int heightZoom = pictureBox_viewer.Height * zoomRatio / 100;
        //zoom = true --> zoom in
        //zoom = false --> zoom out
        if (!zoom)
        {
            widthZoom *= -1;
            heightZoom *= -1;
        }
        //Add the width and height to the picture box dimensions
        pictureBox_viewer.Width += widthZoom;
        pictureBox_viewer.Height += heightZoom;

    }

感谢任何帮助。

提前致谢。

修改 两张未曝光和缩放(16倍)图像的截图。 注意图像上边框和表单上边框之间的边距。 UnzoomedImage ZoomedImage

1 个答案:

答案 0 :(得分:3)

我认为最好缩放(重新缩放)图像而不是图片框。看看这篇文章 - http://www.codeproject.com/Articles/21097/PictureBox-Zoom

并且

How to zoom in&out an image in c#