Я пытаюсь рисовать с помощью Blend (в примере кодирую изображение папки), но у меня возникают проблемы с его формированием.
По сути, я начинаю с элемента управления Canvas, но размер изображения не может быть связан с размером родителя.
С сеткой размер изображения может изменяться автоматически, но все контуры занимают все места. Наконец, с некоторыми преобразованиями конечный результат приемлем, но для получения хорошего преобразования требуется много вычислений.
<Window x:Class="FolderVSG.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="MainWindow">
<Grid Width="300" Height="300" HorizontalAlignment="Center" VerticalAlignment="Center">
<Path Data="M0,0L3,0 4,1 9,1 9,9 0,9z" Fill="#FF1878D8" Stretch="Fill" Stroke="Black" HorizontalAlignment="Center" VerticalAlignment="Center">
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0.89"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Path.RenderTransform>
</Path>
<Path Data="M1,0L9,0 8,9 0,9z" Fill="#FF185ED8" Stretch="Fill" Stroke="Black" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="1,1">
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="0.8"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Path.RenderTransform>
</Path>
</Grid>
</Window>
Может быть, проблема в том, как я рисую, может быть, у него макет, похожий на холст, но который изменяет размер от максимальной точки X Y и минимальной точки X Y.