234

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

ImageSource使用心得

系統 2126 0

很多時候,我們會使用圖片來裝飾UI,比如作為控件背景等。

而這些圖片可以分為兩種形式,即存在于本地文件系統中的圖片和存在于內存中的圖片

對于這兩種形式的圖片,在WPF中,使用方法不同,下面主要說明針對這兩種形式圖片的使用方法

一、存在于本地文件系統中的圖片文件

對于此類圖片,使用非常簡單,在xaml中直接指定路徑即可,如:

1 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 <Button>

2 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 ????<Button.Background>

3 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 ????????<ImageBrush?ImageSource="bg.jpg"/>

4 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 ????</Button.Background>

5 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 </Button>

對應的的C#代碼為

1 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 ImageBrush?imageBrush?=?new?ImageBrush();

2 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 imageBrush.ImageSource?=?new?BitmapImage(new?Uri("bg.jpg",?UriKind.Relative));

3 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 button.Background?=?imageBrush;

其中imageBrush.ImageSource的類型為ImageSource,而ImageSource是個抽象類,

因此我們不能直接使用它,而是使用它的子類來代替,查閱MSDN,可以看到它們的繼承關系:

System.Windows.Media.ImageSource

???System.Windows.Media.DrawingImage?

??????System.Windows.Media.Imaging.BitmapSource

二、存在于內存中的圖片

?對于只存在于內存中的圖片,用以上方法就顯得無能為力了,我們應該另尋他法,下面介紹一種方法:

先看代碼:

1 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 //此處圖片從文件中讀入用以模擬內存中的圖片

2 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 System.Drawing.Bitmap?bitmap?=?new?System.Drawing.Bitmap("bg.jpg");

3 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 MemoryStream?stream?=?new?MemoryStream();

4 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 bitmap.Save(stream,?System.Drawing.Imaging.ImageFormat.Png);

5 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 ImageBrush?imageBrush?=?new?ImageBrush();

6 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 ImageSourceConverter?imageSourceConverter?=?new?ImageSourceConverter();

7 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客

8 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 imageBrush.ImageSource?=?(ImageSource)imageSourceConverter.ConvertFrom(stream);

9 WPF中的imagesource - 渺兒 - miaoerjyzhu的博客 button.Background?=?imageBrush;

其中bitmap即是存在于內存中的Bitmap類型圖片,此處使用直接加載本地圖片文件模擬。

步驟是先將它保存到流中,再使用ImageSourceConverter?類的ConvertFrom方法從流中得到我們需要的圖片

OK,本文到此結束,以上方法都是自己在使用中探索所得,如果有更好的方法,本人非常愿意和各位交流。

?

原文地址: http://shansun123.iteye.com/blog/587695

ImageSource使用心得


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論