Есть ли простой и функциональный способ масштабирования изображения в окне изображения, включая полосы прокрутки?
В настоящий момент я использую окно с изображением на панели с автоматическим прокруткой. Чтобы увеличить масштаб, я увеличиваю изображение и перемещаю его с помощью полос прокрутки на панели. Проблема в том, что она ведет себя странно. Например: если вы приближаетесь к дальнему, граница между верхней и левой границей формы и изображением становится все больше и больше.
Это метод масштабирования. Я получил его от здесь.
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;
}
Любая помощь приветствуется.
Спасибо заранее.
Marco
EDIT: Два снимка экрана без увеличения и увеличения (16 раз). Обратите внимание на границу между верхней границей изображения и верхней границей формы.