В Android я масштабировал макет, используя ScaleGesture и применяя эти свойства Scale к ScaleX и ScaleY макета. В каждом действии указателя вверх я рендеринг макета на основе текущего значения масштаба. Ибо я рассчитал точку перевода, как показано ниже,
var xCoord = currentZoomPoint.X / controlWidth;
var yCoord = currentZoomPoint.Y / controlHeight;
layout.TranslatePoint.X += (float)((width* (previousScale- currentScale)) *xCoord ) ;
layout.TranslatePoint.Y += (float)((height * (previousScale - currentScale))* yCoord) ;
Но текущая позиция масштабирования широко меняется, когда разница между текущим уровнем масштабирования и предыдущим уровнем масштабирования велика.
Как решить эту проблему?