我正在尝试了解Office 2013是如何将内容绘制到屏幕的部分。我的发现远远不够:
CreateWicBitmapRenderTarget
创建基于Wic的位图。此时我很困惑Office如何继续。所以我的问题是:
将基于Wic的渲染目标复制到屏幕的各种可能方法是什么?
我很确定最后,Office正在使用交换链(可能在Windows 7上使用CreateSwapChain
而在Windows 8上使用CreateSwapChainForHwnd
)。我正在逐步完成各种“可疑”功能,例如CreateBitmapFromWicBitmap
和CreateBitmapFromDxgiSurface
) - 但我不了解完整的API调用链。
编辑(回答MooseBoys): 这不是将像素放在屏幕上的一般问题。像素已经在一个RenderTarget(使用CreateWicBitmapRenderTarget创建的渲染目标,然后使用BeginDraw / DrawGlyphRun / EndDraw绘制),我现在想要将这些像素移动到另一个RenderTarget(实际屏幕上的渲染目标)。 在GDC世界中,我会寻找类似BitBlt的东西,将像素从一个hdc移动到另一个hdc。我想知道D2D世界中的协议是什么。