【问题标题】:How to draw a circle with a radial gradient on the canvas?如何在画布上绘制一个径向渐变的圆?
【发布时间】:2017-09-08 15:11:27
【问题描述】:

我需要在自定义控件 (XAML) 的画布上绘制一个带有径向渐变的圆圈。但Windows::UI::Xaml::Media 仅包含LinearGradientBrush。我知道设计指南,但我的控件需要这样的功能才能让用户看到颜色伽玛。
下面我需要得到:

PS 我问如何在没有 XAML 的情况下至少以编程方式绘制它。
PPS 我知道我可以在一些带有径向渐变的编辑器中绘制图片,然后在画布上绘制它,但这似乎不是自适应设计的好解决方案。

【问题讨论】:

  • 请努力使您的要求更清楚。至少粘贴任何包含您已经尝试过的东西的代码。我怀疑您提出的问题是什么技术:它是 Visual C++|MFC 吗?还是 WPF|XAML|C#;还是 Managed-C++|C++/CLI?
  • 我更新了我的帖子以使其更清晰。
  • 添加图像并不能进一步说明问题。您是否将任何代码与您实际尝试过的代码放在一起? 没有。人们是否愿意帮助您了解您想使用什么技术来解决您的问题? 没有
  • 如何发布代码?我不知道有什么解决办法。虽然,我现在找到了 Win2D 库,据我所知,这是一种单一的方式。但对我来说很奇怪,这是第一个我不能绘制径向或规范渐变的平台

标签: c++ xaml canvas uwp c++-cx


【解决方案1】:

您可以查看RenderColorPickerHueRing() 方法的示例,了解如何在WriteableBitmap 中的CPU 上执行此操作。它不是超级快(至少在 C# 版本中),但至少它使您免于将另一个图像与您的应用程序打包或使用 DirectX,这有点难以正确设置和稳定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多