如何在C#中找到ImageBrush对象 [英] How to find ImageBrush object in C#

查看:371
本文介绍了如何在C#中找到ImageBrush对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下是我的Xaml代码

 <  网格 >  
< 矩形 >
< Rectangle.Fill >
< ImageBrush x:名称 = ImgServiceOn ImageSource = Images / btn-on.png / >
< / Rectangle.Fill >
< / Rectangle >
< / Grid >



我想从C#更改此图片画笔的来源

 ImgServiceOn.BeginInit(); 
ImgServiceOn.Source = new BitmapImage( new Uri(path,UriKind.RelativeOrAbsolute));
ImgServiceOn.EndInit();





但是给出错误。

解决方案

  var  image = System.Drawing.Image.FromFile(  ...);  //  或其来自何处 
var bitmap = new System.Drawing.Bitmap(image);
var bitmapSource = Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr .Zero,Int32Rect .Empty,BitmapSizeOptions.FromEmptyOptions());
bitmap.Dispose();
var brush = new ImageBrush(bitmapSource);


Below is my Xaml code

<Grid>
                       <Rectangle>
                           <Rectangle.Fill>
                               <ImageBrush x:Name="ImgServiceOn" ImageSource="Images/btn-on.png"/>
                           </Rectangle.Fill>
                       </Rectangle>
                   </Grid>


I want to change the source of this Image brush from C#

ImgServiceOn.BeginInit();
           ImgServiceOn.Source = new BitmapImage(new Uri(path, UriKind.RelativeOrAbsolute));
           ImgServiceOn.EndInit();



But giving error.

解决方案

var image = System.Drawing.Image.FromFile("..."); // or wherever it comes from
var bitmap = new System.Drawing.Bitmap(image);
var bitmapSource = Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(),IntPtr.Zero,Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
bitmap.Dispose();
var brush = new ImageBrush(bitmapSource);


这篇关于如何在C#中找到ImageBrush对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆