首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >沿几何体路径的Direct2D渐变

沿几何体路径的Direct2D渐变
EN

Stack Overflow用户
提问于 2012-03-22 04:36:28
回答 1查看 868关注 0票数 0

在D2D中,有没有一种方法可以创建一个渐变笔刷,它使用一个自定义的路径几何体作为它的起点/终点?我可以简单地为路径的每一步创建一个不同的笔刷,并使用该笔刷将其呈现为单独的路径,但我正在寻找不会降低性能的东西。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-11 02:44:57

你想要的是一个等同于GDI+的PathGradient,这在Direct2D中是不存在的。

作为一种解决方法,您可以尝试使用GDI+将所需内容渲染为位图,然后使用Direct2D绘制位图。这不会被硬件加速,而且GDI+和Direct2D之间的位图共享有点笨拙,但至少可以工作。您可以使用ID2D1RenderTarget::CreateBitmap()创建一个ID2D1Bitmap,然后锁定GDI+位图,然后将ID2D1Bitmap::CopyFromMemory()与GDI+ BitmapData中的值一起使用。

如果你正在使用一个软件渲染目标,你也可以使用ID2D1RenderTarget::CreateSharedBitmap(),它可以让你跳过内存复制。这将要求您首先使用自己的IWICBitmapLock实现包装GDI+ BitmapData (也称为“锁定的GDI+位图”)(这并不困难,但肯定很笨拙)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9812412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档