0
WPF에서 확대/축소 및 패닝에 대한 this question에 대한 응답으로 ScaleTransform을 사용하고 MouseMove 이벤트에서 RenderTransform 원점을 업데이트하라는 제안을했습니다. 이것은 작동하지만 패닝 동작이 마우스와 정확히 일치하지 않는다는 사실에 만족하지 않습니다. 이 알고리즘의 문제점은 무엇인지 알 수 있지만 올바른 구현은 계속해서 나를 피할 수 있습니다.이미지 패닝 알고리즘의 문제점은 무엇입니까?
private void image_MouseMove(object sender, MouseEventArgs e)
{
if (image.IsMouseCaptured)
{
Vector v = start - e.GetPosition(image);
// this calculates the deltas relative to the original size of the image
// but does not take into account the transformed size, but transforming the
// size like image.ActualWidth * scaleTransform.ScaleX does not help
double deltax = v.X/image.ActualWidth;
double deltay = v.Y/image.ActualHeight;
image.RenderTransformOrigin = new Point(orgin.X + deltax, orgin.Y + deltay);
}
}
어떻게하면이 접근 방식을 사용할 수 있습니까?
포인터를 주셔서 감사합니다. Begin의 TraslateTransform을 사용해야했지만 ScaleTransform을 사용하여이 모든 작업을 수행하려고 했으므로 제안 사항을 사용하여 원래 질문에 대한 답변을 업데이트했습니다. 감사. –