首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ImageBrush代码中创建C#

如何在ImageBrush代码中创建C#
EN

Stack Overflow用户
提问于 2012-11-23 20:52:21
回答 3查看 36.6K关注 0票数 7

在XAML中:

代码语言:javascript
复制
    <Rectangle Stroke="Aqua" Opacity="0.7" StrokeThickness="10" Canvas.Left="24" Canvas.Top="22" Height="86" Width="102">
        <Rectangle.Fill>
            <ImageBrush ImageSource="C:\Users\xiaorui.dong\Pictures\profile.jpeg"></ImageBrush>
        </Rectangle.Fill>
    </Rectangle>

XAML工作正常,但是如何在代码中创建上面的ImageBrush

C#应该是这样的:

代码语言:javascript
复制
Rectangle rectangle = new Rectangle();
rectangle.StrokeThickness = 10;
rectangle.Height = 200;
rectangle.Width = 100;
rectangle.SetValue(Canvas.LeftProperty, 100d);
rectangle.SetValue(Canvas.TopProperty, 100d);
rectangle.Fill = new ImageBrush(new BitmapImage(new Uri(@"C:\Users\xiaorui.dong\Pictures\profile.jpeg")));
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-23 21:01:13

我猜问题在于定位图像,而您得到的异常是因为您没有提供UriKind参数。尝试将UriKind.Relative作为Uri的参数

代码语言:javascript
复制
rectangle.Fill = new ImageBrush(new BitmapImage(
    new Uri(@"C:\Users\xiaorui.dong\Pictures\profile.jpeg", UriKind.Relative)));
票数 12
EN

Stack Overflow用户

发布于 2012-11-23 21:03:49

在c#中,您可以使用它,首先是从XAML中删除fill,然后在c#中使用与您使用过的相同的代码。一定会成功的。

代码语言:javascript
复制
ImageBrush ib = new ImageBrush();

ib.ImageSource = new BitmapImage(new Uri("your path",UriKind.Relative));
rectangle.Fill = ib;
票数 8
EN

Stack Overflow用户

发布于 2016-07-16 19:17:27

此代码使用图像“Asset/Image.png”创建ImageBrush,这是UWP项目的一部分。相对路径在ImageBrush的UWP版本中不可用。

代码语言:javascript
复制
var imageBrush = new ImageBrush();
imageBrush.ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/image.png"));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13535587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档