Подтвердить что ты не робот

Как увеличить и уменьшить изображение в С#?

Я хочу реализовать масштабирование для изображения. Я не хочу изменять размер PictureBox, но само изображение.

Как мне это сделать?

4b9b3361

Ответ 1

Одно из решений:

  • Создайте новое изображение желаемого размера (например, 200% или 50% от исходного размера изображения)
  • Нарисуйте исходное изображение на новое изображение, используя Graphics.DrawImage(Изображение, Прямоугольник);, который рисует данное изображение на новое изображение на заданная позиция с заданным размером
  • Установите новое изображение в качестве источника для PictureBox

Другим способом является создание нового экземпляра такого растрового изображения:

Size newSize = new Size((int)(originalBitmap.Width * zoomFactor), (int)(originalBitmap.Height * zoomFactor));
Bitmap bmp = new Bitmap(originalBitmap, newSize);

Ответ 2

Я использовал веб-браузер для достижения этой цели.

//loads the image
myWebBrowser.Navigate(@"C:\myimage.png");

Оттуда я использовал SendKeys, чтобы увеличивать и уменьшать масштаб

myWebBrowser.Select(); //Selects browser.
SendKeys.Send("^{+}"); //Sends the control + key combo, causing the browser to zoom in. Replace the "+" with a "-" to zoom out.

Это немного странный метод, но он работал очень хорошо для меня. Я надеюсь, что вы найдете это полезным!