0
有没有什么办法在深度变焦中对多尺度图像进行固定变焦?即单击一次以将点X,Y缩放到2x,再次单击以恢复到原始位置和缩放级别?固定深度变焦
我写了代码放大和缩小,但通过缩放过程中途调用zoomaboutlogicalpoint会导致缩小得太远(我猜是由于鼠标移动事件中的1/2因素 - 我可以获取缩放级别?)。另外,我想缩小图像为中心(我想我改变了点放大到图像中途,但这似乎并没有工作,也许我需要考虑视口位置?)
例如,
私人无效msi_MouseLeftButtonDown(对象发件人,MouseButtonEventArgs E) {
点P = e.GetPosition(MSI); Zoom(2,p); }
私人无效msi_MouseLeftButtonUp(对象发件人,MouseButtonEventArgs E) {
点P = e.GetPosition(MSI); Zoom(1/2,p); }
public void Zoom(double zoom, Point pointToZoom)
{
bool zoomingIn = zoom > 1;
bool zoomingOut = zoom < 1;
double minViewportWidth = 0.05;
double maxViewportWidth = 1;
if (msi.ViewportWidth < minViewportWidth && zoomingIn)
{
return;
}
if (msi.ViewportWidth > maxViewportWidth && zoomingOut)
{
return;
}
Point logicalPoint = this.msi.ElementToLogicalPoint(pointToZoom);
this.msi.ZoomAboutLogicalPoint(zoom, logicalPoint.X, logicalPoint.Y);
}
谢谢。