gpt4 book ai didi

c# - 在 WPF 中缩放矢量图像

转载 作者:行者123 更新时间:2023-11-30 15:31:34 28 4
gpt4 key购买 nike

假设我们有以下由两条路径组成的矢量图:

<Path Data="M 0 0 L 4 0 L 4 8 L 0 8 Z" Fill="Black" />
<Path Data="M 4 0 L 8 0 L 8 8 L 4 8 Z" Fill="Black" />

最重要的事实是,这张图片应该是 16x16 单位(尽管事实上,实际图片只覆盖了 8x8 平方区域)。

我希望图像缩放到所需的大小 - 例如,我想将其放置在大小为 32x32 的某个位置(然后,绘制的正方形应为 16x16 大小)。我该怎么做?

更难的部分是,我希望图像驻留在资源中。这可以通过以下方式解决:

<Canvas Width="16" Height="16" x:Key="MyImage">
<Path Data="M 0 0 L 4 0 L 4 8 L 0 8 Z" Fill="Black" />
<Path Data="M 4 0 L 8 0 L 8 8 L 4 8 Z" Fill="Black" />
</Canvas>

(...)

<ContentPresenter Content="{DynamicResource MyImage}" />

但这并不能解决缩放问题。如果可能的话,我想要一个不涉及使用各种 Transform 的解决方案。

最佳答案

如果您想让它很好地调整到任何大小,请将它放在一个带有 Stretch="Fill"Viewbox 中。

<Viewbox Stretch="Fill" x:Key="MyImage">
<Canvas Width="16" Height="16">
<Path Data="M 0 0 L 4 0 L 4 8 L 0 8 Z" Fill="Black" />
<Path Data="M 4 0 L 8 0 L 8 8 L 4 8 Z" Fill="Black" />
</Canvas>
</Viewbox>

这会将内容拉伸(stretch)到 Viewbox 的任何大小。

如果你想要不同的拉伸(stretch)行为:System.Windows.Media.Stretch

关于c# - 在 WPF 中缩放矢量图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20472301/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com