12

スクロールバーを含むピクチャボックスで画像をズームする簡単で機能的な方法はありますか?

現時点では、自動スクロールが有効になっているパネルで画像ボックスを使用しています。ズームするには、ピクチャ ボックスを拡大し、パネルのスクロール バーで移動します。問題は、それが奇妙な振る舞いをすることです。例: ズームインすると、フォームの上部と左側の境界線と画像の間の余白がどんどん大きくなります。

それがズーム方法です。私はここからそれを手に入れました。

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 倍) 画像の 2 つのスクリーンショット。画像の上枠とフォームの上枠の余白に注意してください。 ズームされていない画像 拡大画像

4

1 に答える 1

3

画像ボックスではなく、画像をズーム(再スケーリング)する方が良いと思います。この記事を見てください - http://www.codeproject.com/Articles/21097/PictureBox-Zoom

C#で画像をズームイン&ズームアウトする方法

于 2013-08-16T09:36:31.090 に答える