簡體   English   中英

放大鏡在c#.net

[英]magnifier in c# .net

我在面板中畫了一個圖像。 當我選中“放大”復選框並將鼠標光標放在面板上時,應放大覆蓋光標的矩形區域。 我該怎么做? 我搜索了Codeproject.com並沒有找到這樣的。

這是您在WPF中執行此操作的方法

在WinForms中,它並不容易,但仍然可行。 您必須在圖片框頂部添加控件並使用光標移動它(並調整放大鏡中圖像的原點以便移動)。

很久以前我做了類似的事情,但我不知道這是最好的方法還是今天存在的更好的方法。 我通過放大強度確定了我的觀看區域到各個像素的映射。 常規圖像上的每個像素表示根據放大級別的不同大小的小矩形,並且它具有與像素相同的顏色屬性。

我想出了我可以在觀察區域中放入多少個像素矩形,然后用它來計算出原始的快照矩形大小。 我從上到下讀取每個像素,直到我到達左下角,並在快照中為每個像素創建這些矩形並將它們一個接一個地放置在查看區域圖像中。

它運行得相當好,並且非常快,但我不得不對觀看圖像面板進行雙重緩沖以獲得更新。 這種方法的一個大問題是我無法從原始縮小。

就像我說的那樣,我確信他們有更好的方法來做到這一點,因為我只是在最后一分鍾一起鞭打東西。

暫無
暫無

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

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