亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

silverlight實現圖片局部放大效果的方法

2019-10-29 21:12:35
字體:
來源:轉載
供稿:網友

本文實例講述了silverlight實現圖片局部放大效果的方法。分享給大家供大家參考,具體如下:

很多購物平臺中(比如京東購物),瀏覽產品詳情時都有這種效果,前幾天看到有朋友問SL能不能實現,當然可以

界面:

1.左側小圖片(用一個矩形Fill一張圖片即可)
2.左側半透明矩形
3.右側大圖片(用一個Canvas設置Clip裁剪可視區域作為蒙板,圖片放置在Canvas中即可)

原理:

獲取左側半透明矩形的相對位置,然后動態調整右側大圖的Canvas.Left與Canvas.Top

需要知道以下技術點:

1.Clip的應用
2.如何拖動對象
3.拖動時的邊界檢測
4.動態調整對象的Canvas.Left與Canvas.Top屬性

尺寸要點:

1.右側大圖可視區域與左側半透明矩形的“長寬比例”應該相同
2.“圖片原始尺寸長度比” 應該 “與左側小圖片長度比”相同
3.圖片原始大小/左側小圖大小 = 右側可視區域大小/半透明矩形大小

關鍵代碼:

using System.Windows;using System.Windows.Controls;using System.Windows.Input;namespace PartMagnifier{  public partial class MainPage : UserControl  {    bool trackingMouseMove = false;    Point mousePosition;    public MainPage()    {      // 為初始化變量所必需      InitializeComponent();    }    private void LayoutRoot_Loaded(object sender, System.Windows.RoutedEventArgs e)    {      Adjust();    }    private void Rectangle_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)    {      FrameworkElement element = sender as FrameworkElement;      mousePosition = e.GetPosition(element);      trackingMouseMove = true;      if (null != element)      {        element.CaptureMouse();        element.Cursor = Cursors.Hand;      }      Adjust();      Debug();      sb.Begin();//標題動畫,可去掉    }    private void Rectangle_MouseMove(object sender, MouseEventArgs e)    {      FrameworkElement element = sender as FrameworkElement;      if (trackingMouseMove)      {        double deltaV = e.GetPosition(element).Y - mousePosition.Y;        double deltaH = e.GetPosition(element).X - mousePosition.X;        double newTop = deltaV + (double)element.GetValue(Canvas.TopProperty);        double newLeft = deltaH + (double)element.GetValue(Canvas.LeftProperty);        if (newLeft <= 10)        {          newLeft = 10;        }        if (newLeft >= 130)        {          newLeft = 130;        }        if (newTop <= 10) { newTop = 10; }        if (newTop >= 85) { newTop = 85; }        element.SetValue(Canvas.TopProperty, newTop);        element.SetValue(Canvas.LeftProperty, newLeft);        mousePosition = e.GetPosition(element);        Adjust();        if (mousePosition.X <= 0 || mousePosition.Y <= 0) { return; }        Debug();      }    }    private void Rectangle_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)    {      FrameworkElement element = sender as FrameworkElement;      trackingMouseMove = false;      element.ReleaseMouseCapture();      mousePosition.X = mousePosition.Y = 0;      element.Cursor = null;    }    /// <summary>    /// 調試信息    /// </summary>    void Debug()    {      txtResult.Text = "鼠標相對坐標:" + mousePosition.ToString() + "/n小框left:" + rect.GetValue(Canvas.LeftProperty) + ",小框top:" + rect.GetValue(Canvas.TopProperty) + "/n大圖left:" + ((double)img.GetValue(Canvas.LeftProperty)).ToString("F0") + ",大圖right:" + ((double)img.GetValue(Canvas.TopProperty)).ToString("F0");    }    /// <summary>    /// 調整右側大圖的位置    /// </summary>    void Adjust()    {      double n = cBig.Width / rect.Width;      double left = (double)rect.GetValue(Canvas.LeftProperty) - 10;      double top = (double)rect.GetValue(Canvas.TopProperty) - 10;      double newLeft = -left * n;      double newTop = -top * n;      img.SetValue(Canvas.LeftProperty, newLeft);      img.SetValue(Canvas.TopProperty, newTop);    }  }}

希望本文所述對大家C#程序設計有所幫助。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久亚洲欧洲日产国码aⅴ| 欧美性猛交xxxx乱大交极品| 欧美伦理91i| 国产美女精品视频免费观看| 国产成人高清激情视频在线观看| 亚洲国产精品成人av| 日韩一区二区久久久| 国产精品欧美激情| 色偷偷偷亚洲综合网另类| 中文字幕亚洲综合久久| 亚洲国产精品999| 亚洲成人在线视频播放| 久久久久久久影视| 中文字幕免费精品一区高清| 久久久久久久av| 欧美日韩国产中文字幕| 精品动漫一区二区三区| 亚洲图片制服诱惑| 日韩视频免费在线| 日韩不卡在线观看| 欧美日韩一区免费| 夜夜嗨av色综合久久久综合网| 亚洲欧美日韩一区二区三区在线| 人体精品一二三区| 欧美激情xxxxx| 欧美日韩亚洲成人| 91成人在线视频| 日韩欧美国产中文字幕| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品美女视频网站| 久久综合伊人77777蜜臀| 青草青草久热精品视频在线网站| 日本成熟性欧美| 少妇高潮久久久久久潘金莲| 欧美性猛交xxxx| 久久天天躁日日躁| 成人亚洲综合色就1024| 欧美性极品xxxx做受| 亚洲天堂av女优| 日韩视频免费看| 国产欧美日韩综合精品| 亚洲自拍偷拍色图| 久久亚洲精品网站| 日韩精品视频中文在线观看| 51精品在线观看| 国产成人高潮免费观看精品| 日韩经典一区二区三区| 成人精品视频在线| 精品一区二区亚洲| 成人免费福利视频| 亚洲天堂av在线播放| 欧美日韩亚洲视频| 久久久久久久国产精品| 久久精品国产一区二区三区| 久久激情视频免费观看| 国产精品久久久久av免费| 欧美成人黄色小视频| 欧美激情乱人伦一区| 欧美精品18videosex性欧美| 欧美激情va永久在线播放| 国产精品第8页| 亚洲欧洲一区二区三区久久| 欧美精品在线观看| 亚洲欧美日韩一区二区在线| 欧美性感美女h网站在线观看免费| 欧美日韩加勒比精品一区| 日韩电影免费在线观看| 97久久精品人搡人人玩| 国产欧美一区二区| 国产成人精品一区二区| 岛国av一区二区| 国产色综合天天综合网| 九九视频直播综合网| 国外成人在线直播| 亚洲国产精品推荐| 亚洲精品一区av在线播放| 亚洲欧美日本精品| 久久视频在线视频| 日日噜噜噜夜夜爽亚洲精品| 久久精品久久久久久国产 免费| 中文字幕亚洲情99在线| 91黑丝高跟在线| 不用播放器成人网| 国产精品成人一区二区三区吃奶| 亚洲人成网站免费播放| 日本aⅴ大伊香蕉精品视频| 欧美一级片在线播放| 成人a在线观看| 精品成人av一区| 国产高清视频一区三区| 日韩av男人的天堂| 色综合亚洲精品激情狠狠| 欧美专区第一页| 欧美成人自拍视频| 日韩在线播放av| 久久69精品久久久久久国产越南| 亚洲国产小视频| 日韩不卡中文字幕| 在线播放日韩精品| 日韩在线视频观看| 国产精品专区h在线观看| 日韩av在线免费观看| 日本精品久久电影| 国产99久久精品一区二区永久免费| 国产91|九色| 亚洲人成在线观看| 欧美极品美女视频网站在线观看免费| 亚洲欧洲一区二区三区在线观看| 欧美电影在线观看高清| 亚洲激情视频在线播放| 国产精品视频中文字幕91| 欧美高跟鞋交xxxxhd| 日本精品久久电影| 午夜精品一区二区三区在线播放| 精品性高朝久久久久久久| 亚洲一区二区三区成人在线视频精品| 精品一区二区三区四区| 日韩一二三在线视频播| 国产精品国产自产拍高清av水多| 亚洲变态欧美另类捆绑| 青青草原一区二区| 日本亚洲欧美三级| 欧美精品在线免费| 日韩中文字幕在线视频| 国产一区二区三区视频在线观看| 久久视频国产精品免费视频在线| 亚洲欧洲黄色网| 国产精品第10页| 亚洲精品一区二区网址| 久久久成人的性感天堂| 国产精品久久久久久av下载红粉| 亚洲xxx大片| 久久久久久久电影一区| 日韩美女在线观看| 欧美大片免费看| 日韩中文字幕亚洲| 91精品国产色综合久久不卡98口| 九九精品视频在线观看| 久久久人成影片一区二区三区| 色婷婷综合久久久久中文字幕1| 黑人欧美xxxx| 欧美性猛交丰臀xxxxx网站| 亚洲精品欧美日韩| 91精品国产沙发| 国产成人在线精品| 国产91精品高潮白浆喷水| 亚洲美女视频网站| 欧美成人精品一区二区| 国产精品久久97| 精品久久久999| 精品国产视频在线| 中文字幕国产亚洲2019| 亚洲系列中文字幕| 91在线视频免费| 久久久女女女女999久久| 日韩中文av在线| 亚洲成人精品久久| 亚洲sss综合天堂久久| 精品露脸国产偷人在视频| 黄网动漫久久久| 日韩精品亚洲元码| 久久69精品久久久久久久电影好| 日本精品性网站在线观看| 在线日韩中文字幕|