0

在微软文档和论坛中寻找答案后,我不知所措。我正在加载一个 png 图像作为 inkCanvas (WPF) 的背景,它工作正常,但是,它总是调整图像大小以适合画布,尽管图像大小..

这是我最后一次尝试但没有成功:

            BitmapImage ii = new BitmapImage(new Uri(path));
            Image img = new Image();

            img.Stretch = Stretch.None;
            img.Source = ii;
            InkCanvas1.Background = new ImageBrush(ii);

这是使用 Stretch.None 和 Stretch.Fill 的样子

在此处输入图像描述

这是我想要实现的目标:

在此处输入图像描述

这可以做到吗?

4

1 回答 1

2

问题是您试图在Image您不使用的对象上设置属性,同时忽略您正在使用的对象上的相同设置ImageBrush。在Image这种情况下,只是被丢弃了,而ImageBrush恰好使用的是相同的源图像。改为设置Stretch属性:ImageBrush

    BitmapImage ii = new BitmapImage(new Uri(path));

    ImageBrush imageBrush = new ImageBrush(ii);
    imageBrush.Stretch = Stretch.Uniform;
    InkCanvas1.Background = imageBrush;
于 2014-04-24T18:03:06.370 回答