スクロールバーを含むピクチャボックスで画像をズームする簡単で機能的な方法はありますか?
現時点では、自動スクロールが有効になっているパネルで画像ボックスを使用しています。ズームするには、ピクチャ ボックスを拡大し、パネルのスクロール バーで移動します。問題は、それが奇妙な振る舞いをすることです。例: ズームインすると、フォームの上部と左側の境界線と画像の間の余白がどんどん大きくなります。
それがズーム方法です。私はここからそれを手に入れました。
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 つのスクリーンショット。画像の上枠とフォームの上枠の余白に注意してください。