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 度下げてルート キャンバスの位置に調整します。レンダリング時にロゴが正常に見えるということは、xaml 内のすべてのグラフィック要素が実際には上下逆になっていることを意味します :)。多分それはAIのことです、私にはわかりません。
問題は、Blend を使用してこのキャンバスを GraphicBrush に変換することです。ブレンドは変換を省略し、ブラシを適用するとロゴが上下逆さまに見えます。各ブラシ受信者で再度変換するのではなく、ルートで修正する必要があるかもしれないと考えていました。
質問: これを行うためのプログラム (またはその他の方法) はありますか? つまり、このキャンバスをレンダリングし、(すべての変換が適用された後に) レンダリングされた DOM を XAML にシリアル化できますか?
または、質問をより明確にするために、各パスに2つの変換が適用されています(上記のように、パスごとに1つのグローバルフリップと1つのローカルシフトがあります)、パスがそれらなしでレンダリングされるように、これらの変換を各パス/そのポイントに何らかの方法で適用できますか.