スクロールバーを含むピクチャボックス内の画像をズームするシンプルで機能的な方法はありますか?
現時点では、自動スクロールが有効になっているパネルの画像ボックスを使用しています。ズームするには、ピクチャボックスを拡大し、パネルのスクロールバーで移動します。問題は、奇妙な動作をすることです。たとえば、遠くにズームインすると、フォームの上部と左側の境界線と画像の間のマージンが大きくなります。
それがズーム方法です。 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;
}
どんな助けも大歓迎です。
前もって感謝します。
マルコ
EDIT:ズームされていない画像とズームされた(16倍)画像の2つのスクリーンショット。画像の上部境界線とフォームの上部境界線の間のマージンに注意してください。
私は画像ボックスではなく画像をズーム(再スケール)する方が良いと思います。この記事をご覧ください- http://www.codeproject.com/Articles/21097/PictureBox-Zoom
そして