缩放并在较大的画布内绘制图像

时间:2016-09-16 21:01:06

标签: c# wpf

嗨,我希望有人可以帮我指出正确的方向来解决这个问题。

我有一张空白图像(白色),它是3000x1500,作为一个画布,然后我有一个图像,可以是任何大小和任何方向。我需要做的是尽可能地缩放此图像以适应空白的白色画布,并使其居中。如果图像无法缩放以修复确切的画布,我希望在最终图像的顶部或底部看到白色间隙。

任何人都可以建议我应该研究什么,我将如何在C#WPF中绘制另一个图像以及可能已经存在的任何可用于实现此目的的图像。

我忘了提到这需要输出到位图,以便将其保存到磁盘

2 个答案:

答案 0 :(得分:0)

查看ViewBox。 ViewBox会根据stretch参数自动缩放其单个子元素。

答案 1 :(得分:0)

您需要做的就是将Image控件放入具有白色背景的适当大小的Grid中,并将其Stretch属性设置为Uniform。不需要Viewbox。

<Grid Width="3000" Height="1500" Background="White">
    <Image Source="<path to image file>" Stretch="Uniform"/>
</Grid>