0

如何将 RenderTargetBitmaps 列表组合成单个大型 RenderTargetBitmap?

我通过渲染多个视觉效果创建了一个 RenderTargetBitmaps 列表。然后需要将所有这些 RenderTargetBitmap 组合成一个大的纹理图集(sprite sheet)。

4

2 回答 2

0

我不确定 WPF 的直接成像方法有多广泛,BitmapSource 上有 CopyPixels 的方法,理论上您可以在所有位图源上使用 CopyPixel,合并它们并创建一个新的位图源传递新的像素数据。我不确定如何进行实际的合并。

另一种方法是将 BitmapSources 转换为 GDI+,使用它的成像功能合并它们并将结果转换回 BitmapSource

于 2010-11-18T22:00:05.167 回答
0

我发现 WPF 中有带有 WritePixels 方法的 WriteableBitmap 类,可以与 RenderTargetBitmaps 的 CopyPixels 方法结合使用。WritePixels 方法允许在 WriteableBitmap 上指定一个像素被复制到的区域,所以我认为这至少在理论上应该有效。

在我找到有关 WriteableBitmap 类之前,我已经移动了打包逻辑。视觉效果已经定位(在渲染时)在一个大的 RenderTargetBitmap 上,因此我不再需要组合多个 RenderTargetBitmap。

于 2010-11-19T08:39:38.330 回答