欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

框架使用.NET40

Visual Studio 2019;

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

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

實(shí)現(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;
????????}

效果圖

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

相關(guān)文章

  • 淺談C#中ToString()和Convert.ToString()的區(qū)別

    淺談C#中ToString()和Convert.ToString()的區(qū)別

    本文介紹了ToString()和Convert.ToString()的使用方法,他們之間的區(qū)別,以及從object到string的轉(zhuǎn)換方法,希望對學(xué)習(xí)C#編程的你有所幫助
    2016-11-11
  • C#滑動驗(yàn)證碼拼圖驗(yàn)證功能實(shí)現(xiàn)(SlideCaptcha)

    C#滑動驗(yàn)證碼拼圖驗(yàn)證功能實(shí)現(xiàn)(SlideCaptcha)

    目前網(wǎng)站上的驗(yàn)證碼機(jī)制可謂是五花八門,有簡單的數(shù)字驗(yàn)證,有摻雜了字母和文字的混淆驗(yàn)證,還有通過滑塊進(jìn)行的拼圖驗(yàn)證,下面這篇文章主要給大家介紹了關(guān)于C#滑動驗(yàn)證碼拼圖驗(yàn)證功能的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2022-04-04
  • C#代碼性能測試類(簡單實(shí)用)

    C#代碼性能測試類(簡單實(shí)用)

    這篇文章主要介紹了C#代碼性能測試類(簡單實(shí)用),本文直接給出實(shí)現(xiàn)代碼和使用示例,需要的朋友可以參考下
    2015-06-06
  • C# 泛型集合的自定義類型排序的實(shí)現(xiàn)

    C# 泛型集合的自定義類型排序的實(shí)現(xiàn)

    這篇文章主要介紹了C# 泛型集合的自定義類型排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 深入淺析Restful接口的兩種使用方式

    深入淺析Restful接口的兩種使用方式

    restful接口常用的兩種方式是get和post.接下來通過本文給大家介紹Restful接口的兩種使用方式,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2018-09-09
  • C#實(shí)現(xiàn)無損壓縮圖片代碼示例

    C#實(shí)現(xiàn)無損壓縮圖片代碼示例

    這篇文章介紹了C#實(shí)現(xiàn)無損壓縮圖片的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Unity實(shí)現(xiàn)鼠標(biāo)點(diǎn)2D轉(zhuǎn)3D進(jìn)行旋轉(zhuǎn)

    Unity實(shí)現(xiàn)鼠標(biāo)點(diǎn)2D轉(zhuǎn)3D進(jìn)行旋轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)鼠標(biāo)點(diǎn)2D轉(zhuǎn)3D進(jìn)行旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#使用控制臺列出當(dāng)前所有可用的打印機(jī)列表

    C#使用控制臺列出當(dāng)前所有可用的打印機(jī)列表

    這篇文章主要介紹了C#使用控制臺列出當(dāng)前所有可用的打印機(jī)列表,涉及C#操作計算機(jī)硬件的相關(guān)使用技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-04-04
  • C#算法之實(shí)現(xiàn)阿姆斯特朗數(shù)

    C#算法之實(shí)現(xiàn)阿姆斯特朗數(shù)

    這篇文章介紹了C#實(shí)現(xiàn)阿姆斯特朗數(shù)的算法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • C#之CLR內(nèi)存原理初探

    C#之CLR內(nèi)存原理初探

    這篇文章主要介紹了C#之CLR內(nèi)存原理初探,有助于讀者進(jìn)一步理解C#的運(yùn)行原理,需要的朋友可以參考下
    2014-08-08

最新評論