使用WPF将多个图像合并为一个大图像

时间:2010-11-16 15:42:35

标签: c# wpf image-processing wpf-4.0

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

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

2 个答案:

答案 0 :(得分:0)

我不确定WPF的直接成像方法有多广泛,BitmapSource上有CopyPixels的方法,理论上你可以在你所有的bitmapsource上使用CopyPixel,合并它们并创建一个新的bitmapsource传递新的pixeldata。我不知道如何进行实际的合并。

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

答案 1 :(得分:0)

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

在找到WriteableBitmap类之前,我已经移动了打包逻辑。 Visuals已经定位(渲染)在一个大型RenderTargetBitmap上,因此我不再需要组合多个RenderTargetBitmap。