歪斜变换边缘问题 [英] skewtransform edge problem
问题描述
我正在绘制具有黑色背景的画布,并在其上绘制第二个画布.有白色背景.的尺寸相同,因此白色区域位于黑色之上.
I am drawing a canvas with a black background, and on that I draw a second canvas with a white background. The have the same dimension, so the white area is on top of the black.
当我添加一个偏斜变换时,我在左侧和右侧看到一条黑线? (错误?)
When I add a skewtransform I see at the left and right side a black line???? (bug?)
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="300" Width="400" UseLayoutRounding="True" >
<Canvas Width="200" Height="200">
<Canvas Width="100" Height="100" Background="Black" Canvas.Left="50" Canvas.Top="50" >
<Canvas.RenderTransform>
<SkewTransform AngleX="25"></SkewTransform>
</Canvas.RenderTransform>
<Canvas Background="White" Width="100" Height="100" ></Canvas>
</Canvas>
</Canvas>
</Window>
推荐答案
对我来说,这是与转换偏移量有关的错误.
For me, it's a bug linked to the transformation offset.
如果这样做,则可以消除此差距:
If you do that, you remove this gap:
< Canvas Width ="200"高度="200">
<画布宽度="100"高度="100".背景=黑色". Canvas.Left ="50" Canvas.Top ="50" >
< Canvas.RenderTransform>
< SkewTransform AngleX ="25"</SkewTransform>
</Canvas.RenderTransform>
<画布背景=白色"; Canvas.Left =-1"宽度="102"高度="100". />
</画布>
</Canvas>
<Canvas Width="200" Height="200">
<Canvas Width="100" Height="100" Background="Black" Canvas.Left="50" Canvas.Top="50" >
<Canvas.RenderTransform>
<SkewTransform AngleX="25"></SkewTransform>
</Canvas.RenderTransform>
<Canvas Background="White" Canvas.Left="-1" Width="102" Height="100" />
</Canvas>
</Canvas>
这篇关于歪斜变换边缘问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!