У меня есть изображение, и я панорамирую его после масштабирования, при панорамировании по горизонтали изображение перемещается, оставляя пустое пространство слева. Я хочу ограничить, когда изображение достигло предела. То же самое для верхнего, правого, нижнего панорамирования.
Панорамированное изображение Ожидаемый вывод
private void Grid1_MouseMove(object sender, MouseEventArgs e)
{
if (!image1.IsMouseCaptured) return;
Point p = e.MouseDevice.GetPosition(image1);
var rect2 = new Rect(image1.RenderSize);
Bounds = image1.TransformToAncestor(grid1).TransformBounds(rect2);
matrix = zoomMatrixTransform.Matrix;
Vector v = start - e.GetPosition(grid1);
matrix.OffsetX = origin.X - v.X;
matrix.OffsetY = origin.Y - v.Y;
zoomMatrixTransform.Matrix = matrix;
image1.RenderTransformOrigin = new Point(0.5, 0.5);
image1.LayoutTransform = zoomMatrixTransform;
}
Я прикрепил панорамированное изображение и хочуограничить выделенную красным цветом область. Также прилагается ожидаемый результат.