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

C# 使用WPF将多个图像合并为一个大图像,c#,wpf,image-processing,wpf-4.0,C#,Wpf,Image Processing,Wpf 4.0,如何将RenderTargetBitmap列表组合成单个大型RenderTargetBitmap 我通过渲染多个视觉效果来创建RenderTargetBitmap列表。然后,所有这些RenderTarget位图都需要合并成一个大的纹理图集(sprite表)。我不确定WPF的直接成像方法有多广泛,BitmapSource上有CopyPixels的方法,理论上你可以在所有BitmapSource上使用CopyPixel,合并它们并创建一个传递新pixeldata的新BitmapSource。但我不知

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


我通过渲染多个视觉效果来创建RenderTargetBitmap列表。然后,所有这些RenderTarget位图都需要合并成一个大的纹理图集(sprite表)。

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


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

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


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

我认为合并CopyPixel返回的数组不是一件容易的事情。转换为GDI+是一种选择,但它会导致资源使用量的不必要增加。