我使用以下代码成功地将InkCanvas的背景从后面的代码更改为图像:
ImageBrush imageBrush = new ImageBrush();
imageBrush.ImageSource = new BitmapImage(new Uri("temp.jpg", UriKind.Relative));
inkCanvas1.Background = imageBrush;现在我只想调整背景图像的分辨率。例如,如果我的InkCanvas大小是500x500,我想在我的InkCanvas中心显示背景图像,分辨率为300x300。
这有可能吗?在这方面的任何帮助都将受到高度赞赏。
发布于 2018-09-25 01:55:54
当然,这有很多种方法,例如,您可以设置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>https://stackoverflow.com/questions/52489444
复制相似问题