如何在C#中找到ImageBrush对象 [英] How to find ImageBrush object in C#
本文介绍了如何在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屋!
查看全文