ich das Scrollrad bin mit in und aus auf einem Objekt vergrößern die folgende Methode:Skalierung Zoomfaktoren
void OnPreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
lastMousePositionOnTarget = Mouse.GetPosition(grid);
double max = 255;
double min = .005;
var deltaScale = Math.Max(Math.Log(scaleTransform.ScaleX), double.Epsilon);
var delta = e.Delta > 0 ? Math.Max(e.Delta * deltaScale, .5) : Math.Min(e.Delta * deltaScale, -.5);
double newScale = Math.Max(Math.Min((delta/250d) + scaleTransform.ScaleX, max), min);
scaleTransform.ScaleX = newScale;
scaleTransform.ScaleY = newScale;
System.Diagnostics.Debug.WriteLine(newScale);
e.Handled = true;
}
Ich möchte es langsamer haben, zu vergrößern, wenn es näher an dem max gezoomt wird, und schneller, wenn die Anzahl näher am Minimum liegt. Was ich derzeit habe, funktioniert irgendwie, aber nicht sehr gut. Wie kann ich das beheben, um das zu tun, was ich will?
Um die Verwendung/das Lesen zu vereinfachen, berechnen Sie die Größe/Größe vor und lassen Sie das Mausrad einen Index einstellen. @GEEF ist auf dem richtigen Weg bis zur Berechnung der Werte. – overslacked