如何获得 Direct2D Effect 输出的大小?

How to get the size of the output of a Direct2D Effect?

我需要知道 Direct2D Effect 的输出大小。比方说,将效果渲染为位图供以后使用。例如,内置的高斯模糊效果。

ID2D1Effect does not have a GetSize() member. It does have GetOutput(), but the resulting ID2D1Image 也没有 GetSize() 成员。或者任何相关的东西。

一个效果可以有无限的输出,适应渲染目标,但我预计不会。当您编写 custom effects 时,内部变换图在某处具有类似 MapInputRectsToOutputRect() 的功能。是否可以从应用程序访问内置效果?

我错过了什么吗?有可能吗?

ID2D1DeviceContext::GetImageLocalBounds 方法可能就是您要找的。