以编程方式将图像附加到椭圆

本文关键字:图像 编程 方式 | 更新日期: 2023-09-27 18:27:20

当我运行此代码时,我会得到一个黑屏,直到我最大化应用程序?此外,我认为它也不会拾取图像文件。在VisualStudio中,我创建了一个新文件夹,并将图像添加到该文件夹中。

public MainWindow()
{
    InitializeComponent();
    Canvas canvas = new Canvas();
    canvas.Width = 300;
    canvas.Height = 300;
    canvas1.Children.Add(canvas);
    Ellipse hand = new Ellipse();
    hand.Height = 30;
    hand.Width = 30;
    /*
    BrushConverter bc = new BrushConverter();
    Brush brush = (Brush)bc.ConvertFrom("Red");
    hand.Fill = new SolidColorBrush(Colors.Red);
    */
    ImageBrush myBrush = new ImageBrush();
    myBrush.ImageSource =
        new BitmapImage(new Uri(@"Images/Hand.png", UriKind.Relative));
    hand.Fill = myBrush;
    Canvas.SetLeft(hand, 100);
    Canvas.SetTop(hand, 100);
    canvas.Children.Add(hand);
}

以编程方式将图像附加到椭圆

您使用TextureBrush有什么特殊原因吗?

不太确定,但也许您应该使用ImageBrush

ImageBrush myBrush = new ImageBrush();
myBrush.ImageSource = 
    new BitmapImage(new Uri("pack://application:,,,/Images/image.jpg"));
myEllipse.Fill = myBrush;