【问题标题】:WinRT Ellipse Stroke Thickness not consistentWinRT 椭圆笔画粗细不一致
【发布时间】:2014-11-29 21:16:08
【问题描述】:

我想在 WinRT (Windows 8.1) 中绘制多个具有相同大小和笔画粗细的圆圈。如果我使用 Ellipse 元素并在所有元素上设置相同的值(无填充颜色),我会得到具有不同笔画粗细的圆圈。但它们都应该具有相同的笔画粗细。如何解决这个问题?

Ellipse 以编程方式创建,然后作为子元素添加到 Grid

Ellipse e = new Ellipse();
e.Stroke = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255));
e.StrokeThickness = 1;
e.Width = 30;
e.Height = 30;

【问题讨论】:

  • 发布您的 xaml 代码。

标签: xaml windows-runtime microsoft-metro rendering ellipse


【解决方案1】:

您没有看到不同的StrokeThickness,您看到的是 2 个或更多椭圆彼此重叠。但是您可能想知道为什么它看起来“更厚”,这是因为椭圆的外/内边缘上的抗锯齿

当你有两个或更多时,它们会相互混合,所以抗锯齿会显得更厚,因为半透明边缘会 AlphaBlend,如果你有足够的层,那么所有外/内边缘都会失去透明度,最终会变成一个非常锯齿状的椭圆。

如果你能想出如何像 WPF 的 SnapsToDevicePixels 那样关闭抗锯齿,那么你不会有这种效果,但你会得到一个锯齿状的椭圆。

【讨论】:

  • 完美!你给了我正确的提示。由于代码错误,我在另一个椭圆上绘制了多个椭圆。
猜你喜欢
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
  • 2017-09-06
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多