最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于WPF實現(xiàn)簡單放大鏡效果

 更新時間:2022年12月27日 10:01:39   作者:驚鏵  
這篇文章主要為大家詳細介紹了WPF如何實現(xiàn)簡單放大鏡效果,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,感興趣的小伙伴可以了解一下

WPF 如何實現(xiàn)簡單放大鏡

框架使用.NET40;

Visual Studio 2019;

實現(xiàn)此功能需要用到 VisualBrush ,放大鏡展現(xiàn)使用 Canvas -> Ellipse .

  • 可以使用 VisualBrush 創(chuàng)建放大效果。
  • 設置 Visual 獲取或設置畫筆的內容。
  • 設置 ViewboxUnits Absolute 坐標系與邊界框無關。
  • 設置 Viewbox 獲取或設置 TileBrush 圖塊中內容的位置和尺寸。
  • 當鼠標移動獲取當前坐標點修改 VisualBrush 的 Viewbox
  • 鼠標移動修改 Ellipse 的 Canvas.Left 與 Canvas.Top 跟隨鼠標。

實現(xiàn)代碼

1) xaml 代碼如下:

<Grid>
????????<Image?Source="0.png"?Stretch="Fill"
???????????????Name="image"?MouseMove="image_MouseMove"
???????????????MouseEnter="image_MouseEnter"?MouseLeave="image_MouseLeave"/>

????????<Canvas?IsHitTestVisible="False"?Name="MagnifierPanel">
????????????<Ellipse?Stroke="LightBlue"?Name="MagnifierCircle"?
?????????????????????Height="200"?Width="200">
????????????????<Ellipse.Fill>
????????????????????<VisualBrush?x:Name="MagnifierBrush"??
?????????????????????????????????Visual="{Binding?ElementName=image}"?
?????????????????????????????????ViewboxUnits="Absolute"/>
????????????????</Ellipse.Fill>
????????????</Ellipse>
????????</Canvas>
????</Grid>

2) xaml.cs 代碼如下:

private?void?image_MouseMove(object?sender,?MouseEventArgs?e)
????????{
????????????var?center?=?e.GetPosition(image);
????????????var?length?=?MagnifierCircle.ActualWidth?*?_factor;
????????????var?radius?=?length?/?2;
????????????var?viewboxRect?=?=?new?Rect(center.X?-?radius,?center.Y?-?radius,?length,?length);
????????????MagnifierBrush.Viewbox?=?viewboxRect;
????????????MagnifierCircle.SetValue(Canvas.LeftProperty,?center.X?-?MagnifierCircle.ActualWidth?/?2);
????????????MagnifierCircle.SetValue(Canvas.TopProperty,?center.Y?-?MagnifierCircle.ActualHeight?/?2);

????????}

????????private?void?image_MouseEnter(object?sender,?MouseEventArgs?e)
????????{
????????????MagnifierCircle.Visibility?=?Visibility.Visible;
????????}

????????private?void?image_MouseLeave(object?sender,?MouseEventArgs?e)
????????{
????????????MagnifierCircle.Visibility?=?Visibility.Hidden;
????????}

效果圖

到此這篇關于基于WPF實現(xiàn)簡單放大鏡效果的文章就介紹到這了,更多相關WPF放大鏡內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • c#操作ftp類分享

    c#操作ftp類分享

    這篇文章主要介紹了一個c#操作ftp的類,大家參考使用吧
    2014-01-01
  • C#集合查詢Linq在項目中使用詳解

    C#集合查詢Linq在項目中使用詳解

    本文主要介紹了C#集合查詢Linq在項目中使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • C#使用dynamic類型訪問JObject對象

    C#使用dynamic類型訪問JObject對象

    這篇文章主要為大家詳細介紹了C#使用dynamic類型訪問JObject對象,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • C#位運算符的基本用法介紹

    C#位運算符的基本用法介紹

    這篇文章介紹了C#位運算符的基本用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • c#中l(wèi)ist.FindAll與for循環(huán)的性能對比總結

    c#中l(wèi)ist.FindAll與for循環(huán)的性能對比總結

    這篇文章主要給大家總結介紹了關于c#中l(wèi)ist.FindAll與for循環(huán)的性能,文中通過詳細的示例代碼給大家介紹了這兩者之間的性能,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧。
    2017-10-10
  • C#連接Oracle數(shù)據(jù)庫使用Oracle.ManagedDataAccess.dll

    C#連接Oracle數(shù)據(jù)庫使用Oracle.ManagedDataAccess.dll

    這篇文章主要介紹了C#使用Oracle.ManagedDataAccess.dll的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 一文詳解Unity3D?AudioSource組件使用示例

    一文詳解Unity3D?AudioSource組件使用示例

    這篇文章主要為大家介紹了一文詳解Unity3D?AudioSource組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • C#實現(xiàn)更改MDI窗體背景顏色的方法

    C#實現(xiàn)更改MDI窗體背景顏色的方法

    這篇文章主要介紹了C#實現(xiàn)更改MDI窗體背景顏色的方法,涉及C#窗體背景色的設置技巧,非常簡單實用,需要的朋友可以參考下
    2015-08-08
  • C#選擇法排序實例分析

    C#選擇法排序實例分析

    這篇文章主要介紹了C#選擇法排序,實例分析了C#實現(xiàn)選擇法排序的原理與相關技巧,需要的朋友可以參考下
    2015-04-04
  • 手動編譯C#代碼的方法

    手動編譯C#代碼的方法

    在本文里小編給大家分享的是關于手動編譯C#代碼的方法和步驟,對此有需要的朋友們可以學習下。
    2018-12-12

最新評論

同仁县| 隆子县| 策勒县| 公安县| 新龙县| 大英县| 西藏| 新乐市| 鲜城| 白水县| 庆阳市| 凤庆县| 城口县| 郯城县| 泰和县| 铅山县| 姜堰市| 蒙城县| 固镇县| 白山市| 延安市| 赣州市| 龙泉市| 台中市| 长垣县| 三江| 大关县| 太白县| 龙江县| 祁连县| 东丰县| 青川县| 河北区| 亳州市| 博白县| 德令哈市| 湘阴县| 广平县| 菏泽市| 金川县| 盘山县|