在WP 8.1 RT中合并两个或多个图像

时间:2015-08-04 11:17:36

标签: c# image windows-phone-8.1 writeablebitmapex lumia-imaging-sdk

我正在尝试通过重复拼贴多个小图片来创建更大的图像。我怎么能在C#/ WP8.1中做到这一点?

我试图合并字节数组(简单附加不起作用),试图在XAML上渲染(不起作用,用一些图像获取分离线),尝试使用WriteableBitmapEx(太慢,需要UI线程)处理)和两种Lumia Imaging SDK(JpegTools和BlendEffect)方法,但都产生分离线。

话虽如此,是否还有其他可用于合并两个或多个图像的方法?

我想探索字节级复制的选项;我该怎么办呢?如何合并两个图像阵列并创建一个更大的图像?

编辑:问题出在WP 8.1 RT而非通用C#平台上。

1 个答案:

答案 0 :(得分:0)

您可以使用WriteableBitmapEx将原始图像加载到WB中,然后使用WriteableBitmapEx来访问buffer / Pixels属性并在后台线程中运行合并。因此,获取要合并的所有WB的Pixels数组,然后使用Pixels数组并合并它们。您甚至可以在WinRT上使用快速的Buffer.BlockCopy或其等价物。 获得最终合并的数组缓冲区后,使用正确的聚合维度创建新的WB,并将其Pixels缓冲区设置为合并的数组。 您只需在实例化新WB时访问UI线程。