簡體   English   中英

最小和最大邏輯

[英]Minimum & Maximum Logic

我在使用WPF可縮放畫布庫時遇到問題,該庫運行平穩,但是無論我如何嘗試,都無法將最小或最大設置為縮放(縮放),它會盡可能地在沒有縮放的情況下進行縮放(動物園)任何限制,如何設置限制? 例如,縮放比例不應小於1且大於5。

這是我在下面使用的代碼:

    void PreviewMouseWheel(object sender, System.Windows.Input.MouseWheelEventArgs e)
    {
        var x = Math.Pow(2, e.Delta / 3.0 / System.Windows.Input.Mouse.MouseWheelDeltaForOneLine);
        MyCanvas.Scale *= x;
        // Adjust the offset to make the point under the mouse stay still.
        var position = (System.Windows.Vector)e.GetPosition(basecan);
        MyCanvas.Offset = (System.Windows.Point)((System.Windows.Vector)
            (MyCanvas.Offset + position) * x - position);
        e.Handled = true;
    }

感謝您的幫助,我已經花費了數小時試圖使其正常工作。

這是圖書館

為什么不將規模限制在極限范圍內呢?

class XXX{
    double scale = 1;
    public void PreviewMouseWheel(object sender, System.Windows.Input.MouseWheelEventArgs e){
        this.scale *= Math.Pow(2, e.Delta / 3.0 / System.Windows.Input.Mouse.MouseWheelDeltaForOneLine);
        if (this.scale > 5) this.scale = 5;
        else if (this.scale < 1) this.scale = 1;
        MyCanvas.Scale = this.scale;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM