将两个Base64 URL字符串(图像)连接起来

4

我正在尝试将从我的相机生成的两个或多个base64 URL字符串(使用cordova-plugin-camera)连接起来。我试图将它们合并成一个base64 URL字符串,以便将其转换为一张图片。

我尝试手动连接它们,做法如下:

var compilation = ["data:image/jpeg;base64,"];
for(var x = 0; x < $scope.imageList.length; x++)
    compilation[0] = compilation[0] + $scope.imageList[x];

但那个东西不起作用。有什么想法可以使这成为可能吗?

参考:

iOS连接

连接两个Base64字符串然后解码它们

谢谢!


1
等等,你想要实现什么?你想通过将多个图像的base64表示附加在彼此之后来合并它们吗?这样做行不通,我甚至不知道你是如何希望它产生任何效果的。你脑海中会出现什么样的合并方式呢?一个更大的图像?两个图像相互叠加?无论如何,这些都不会发生,你只会得到一个没有意义的长字符串,就像"red"+"blue"不会返回"purple"一样。 - Kaiido
@Kaiido 好的,我明白你的意思。我想你也理解我试图实现什么。我相信将两个或更多的base64 URL添加到一个URL中会生成一张大图片。但我认为你是正确的,这不会发生。我认为其中一个会覆盖另一个。那么有什么好方法可以实现这个目标呢? - Rich
我认为您不能混合两个base64图像,但是您可以使用canvas实现这一点,请查看以下链接:https://dev59.com/6o7da4cB1Zd3GeqP-j9_ - Whatatimetobealive
1个回答

0

Base64编码简单地将组成您要编码的任何内容(在本例中为图像)的位转换为由64个字符组成的字符串。

您要做的事情实际上与将图像的原始位连接成单个位流并保存到文件没有什么不同。结果将是无效的图像,因为图像文件格式具有标题数据和类似的内容。

更重要的是,如果源数据不是24位的完整块,则base64会向字符串末尾添加其他字符。

这里有一个很好的base64编码及其工作原理的分解。

要完成您要做的事情,您可以使用图像编辑器将图像合并,然后对其进行base64编码。

如果您想以编程方式执行此操作,可以编写一个简单的Web服务,该服务接受您的两个单独的base64编码图像,然后在服务中将它们连接在一起,然后返回新图像的base64编码字符串。


我不确定OP,但我在这里确切地“以编程方式完成此操作”。告诉我它是可能的并没有帮助我很多。我该怎么做? - Pouria Moosavi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接