我对 XAML 和 Blend 有一点问题。我们已将公司徽标从 转换AI -> SVG -> XAML
,对其进行了一些清理,并且它产生了一个非常奇特的来源。本质上,它是对一组路径应用“翻转”转换:
<Canvas Width="640" Height="200" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas Width="640" Height="200" RenderTransform="1,0,0,-1,0,200" >
<!-- L -->
<Canvas RenderTransform="1,0,0,1,317.0645,64.3652">
<Path>
<Path.Data>
<PathGeometry FillRule="Nonzero" Figures="M0,0L0,75.065 18.743,76.83 18.743,17.066 43.553,17.066 38.564,0 0,0z" />
</Path.Data>
</Path>
</Canvas>
... etc
注意RenderTransform="1,0,0,-1,0,200"
封闭的节点Canvas
。它将画布上下翻转并将其降低 200 以调整到根画布位置。鉴于 taht 徽标在渲染时看起来不错意味着 xaml 中的所有图形元素实际上都是颠倒的 :)。也许它是一个人工智能的东西,我不知道。
问题是我现在使用 Blend 将此画布转换为 GraphicBrush。混合省略了变换,并且在应用画笔时徽标看起来是颠倒的。而不是再次在每个画笔接收者处进行转换,我在想也许我们应该只在根处修复它,例如转换所有路径,以便它们正确渲染以开始避免对根转换的需要。
问题:是否有程序化(或任何其他方式)可以做到这一点?意思是,我可以渲染这个画布,然后将渲染的(在应用了所有转换之后)DOM 序列化为 XAML 吗?
或者为了让问题更清楚:每条路径都应用了两个变换(如上所示,每条路径一个全局翻转和一个局部移位),我能否以某种方式将这些变换应用于每个路径/它的点,以便路径在没有它们的情况下呈现.