【问题标题】:How to clip Arc from image?如何从图像中剪切弧?
【发布时间】:2014-09-22 05:10:40
【问题描述】:

我正在做winrt应用程序,我有一个圆形图像,我需要从圆形图像中动态裁剪弧线,角度不同,我该怎么做?

【问题讨论】:

  • 它是 WPF、Silverlight 还是 WinRT/XAML?这些是相似但不同的平台,并且成像堆栈的不同足以为每个平台提供不同的答案。
  • @FilipSkakun:我需要winrt解决方案

标签: wpf silverlight windows-runtime winrt-xaml


【解决方案1】:

在 WinRT/XAML 中 - 您可以将图像作为 WriteableBitmap 打开并手动处理像素。如果您有更多时间并希望更快地获得结果,也可以使用 DirectX。

圆开始的有用公式:

r2 = x2 + y2

x = r * sin(α)
y = r * cos(α)

【讨论】:

  • winrt 应用程序是否存在路径裁剪?
  • 不,很遗憾,UIElement.Clip 仅适用于 RectangleGeometry,并且 XAML 不支持 OpacityMask。不过,你仍然可以使用 DX 来做到这一点。
  • 我对directX一无所知,你能推荐一些快速入门教程吗?
  • 我建议查看 SharpDX - 只需从 NuGet 安装 Direct2D 组件。我刚刚编写了一些代码来将一些文本呈现为位图,您可能会发现它们很有用here
【解决方案2】:

为了完整起见 - 您可以使用 ImageBrush Fill 制作路径/ArcSegment - 类似于 this answer here 的第一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 2021-07-18
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    相关资源
    最近更新 更多