WPF - InkCanvas - 背景图像

WPF - InkCanvas - Background Image

我使用以下代码成功地从带有图像的代码后面更改了我的 InkCanvas 的背景:

ImageBrush imageBrush = new ImageBrush();
imageBrush.ImageSource = new BitmapImage(new Uri("temp.jpg", UriKind.Relative));
inkCanvas1.Background = imageBrush;

现在我只想调整背景图片的分辨率。 例如,如果我的 InkCanvas 大小是 500 x 500,我想在我的 InkCanvas 中以 300 x 300 的分辨率在中心显示背景图像。

这可能吗? 在这方面的任何帮助将不胜感激..

这个当然还有很多方法,比如可以设置RelativeTransform 属性:

<InkCanvas.Background>
    <ImageBrush>
        <ImageBrush.RelativeTransform>
            <TransformGroup>
                <ScaleTransform CenterY="0.5" CenterX="0.5" ScaleX="2" ScaleY="2"/>
            </TransformGroup>
        </ImageBrush.RelativeTransform>
    </ImageBrush>
</InkCanvas.Background>

这样一来,您的背景图片就会是前一张的两倍大。如果你想更精确地控制背景,可以使用VisualBrush,如下所示:

<Grid.Background>
    <VisualBrush>
        <VisualBrush.Visual>
            <Image Width="200" Height="200"></Image>
        </VisualBrush.Visual>
    </VisualBrush>
</Grid.Background>