歪斜变换边缘问题 [英] skewtransform edge problem

查看:55
本文介绍了歪斜变换边缘问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在绘制具有黑色背景的画布,并在其上绘制第二个画布.有白色背景.的尺寸相同,因此白色区域位于黑色之上.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆