Я хотел бы увеличить изображение в WPF и чтобы визуальная визуализация изображения находилась внутри элемента управления с ограниченным размером.
Например:
<Canvas x:Name="m_canvas" MaxWidth="300" MaxHeight="300" >
<Image Source="..."
Width="300"
Height="300" />
</Canvas>
Код увеличения:
var matrix = ((MatrixTransform)m_image.RenderTransform).Matrix;
var center = new Point(m_image.ActualWidth / 2, m_image.ActualHeight / 2);
center = matrix.Transform(center);
matrix.ScaleAt(delta.Scale.X, delta.Scale.Y, center.X, center.Y);
((MatrixTransform)m_image.RenderTransform).Matrix = matrix;
Проблема в том, что при увеличении размера изображения размер рендера становится больше, чем ограничение холста (300x300). Хотелось бы, чтобы изображение можно было масштабировать только на холсте.
Я не хочу ограничивать максимальное увеличение, я хочу, чтобы, если размер рендеринга изображения был больше, чем у холста, он оставался внутри. Я не хочу, чтобы это перекрывало холст