本文解決了使用 Paint 事件中的變換從滑鼠位置縮放(縮放)影像的問題。將點陣圖原點平移到滑鼠位置後,影像會縮放並將其原點平移回來。然而,在滑鼠位置轉換過程中,影像會「跳躍」並且無法從重新定位的原點進行縮放。
為了解決此問題,我們實施以下策略:
為了直觀演示,我們的範例程式碼在自訂 PictureBoxEx 控制項中實作了四種縮放模式:
答案中提供的程式碼介紹了PictureBoxEx自訂控件,該控制項繼承自PictureBox並包含自訂功能。它還包括 canvas 變量,該變數表示在初始化期間新增到表單的自訂控制項。 ZoomMode 枚舉用於定義不同的縮放模式。
滑鼠事件和軌跡列的事件處理程序以及核心繪畫邏輯,根據所選的縮放模式處理縮放和旋轉操作。
請記住在運行之前將 imagePath 字串修改為映像檔的實際路徑程式碼。
這種方法提供了一種更有效率、更穩定的方法來從滑鼠位置縮放和平移影像。它減少了處理複雜轉換時出現意外視覺偽影或性能問題的可能性。
以上是如何在 C# 中從滑鼠位置正確縮放和平移影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!