Масштабирование и центрирование изображения с помощью Graphics.TransformsC#

Место общения программистов C#
Anonymous
Масштабирование и центрирование изображения с помощью Graphics.Transforms

Сообщение Anonymous »

Я пытаюсь загрузить изображение в пользовательский элемент управления. У меня нет проблем с этим. Однако результат никогда не бывает таким, как ожидалось. Изображение должно масштабироваться, чтобы достичь границы самой длинной оси и находиться в центре оставшейся оси. Я не могу найти ничего, что хорошо описывало бы эти отношения, чтобы обеспечить полное понимание того, что на самом деле происходит.
Используя что-то вроде:

Код: Выделить всё

private void ZoomControl_Paint(object sender, PaintEventArgs e)
{
var g = e.Graphics;
Zoom = 0.5;
float X = dx;
float Y = dy;
g.TranslateTransform(X, Y);
g.ScaleTransform(zoom, zoom);
}
Я перепробовал множество комбинаций, но все это лишь доказывает, что я не знаю, как работает преобразование.
Я могу масштабировать и использовать Методы изображения и рисование на элементе управления для идеального решения, но это не дает хорошей отправной точки для дальнейшего масштабирования и панорамирования.
Ожидаемый результат

Подробнее здесь: https://stackoverflow.com/questions/787 ... transforms

Вернуться в «C#»