Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于将TouchDevelop中的image-to-base64字符串转换_Image_Base64_Buffer_Bytearray_Touchdevelop - Fatal编程技术网

关于将TouchDevelop中的image-to-base64字符串转换

关于将TouchDevelop中的image-to-base64字符串转换,image,base64,buffer,bytearray,touchdevelop,Image,Base64,Buffer,Bytearray,Touchdevelop,我正在从服务器获取一个图像(以base64字符串格式编码)。此base64编码字符串必须转换回图像。我分两步进行: 将base64编码的字符串转换为缓冲区-使用位->字符串到缓冲区(字符串,“base64”) 将缓冲区写入图片(尺寸相同)-使用图片->写入缓冲区(缓冲区),然后显示图片 来自服务器的base64字符串(整个字符串): IVBORW0KGGOAAAAnsuhueugaaAjaaaaAmuleqVR42U3SqrBBbBeeeEqqrBBbBeeeEqqrBBbBeeeEqqqrBB

我正在从服务器获取一个图像(以base64字符串格式编码)。此base64编码字符串必须转换回图像。我分两步进行:

  • 将base64编码的字符串转换为缓冲区-使用位->字符串到缓冲区(字符串,“base64”)

  • 将缓冲区写入图片(尺寸相同)-使用图片->写入缓冲区(缓冲区),然后显示图片

  • 来自服务器的base64字符串(整个字符串):

    IVBORW0KGGOAAAAnsuhueugaaAjaaaaAmuleqVR42U3SqrBBbBeeeEqqrBBbBeeeEqqrBBbBeeeEqqqrBBbBeeeEqqrBBbBeeEqqrBBbBeeeEqrBBbBeeeEqqrBBbBeeEqqrBBbBeeEqqqrBBbBeeEqqqrBBbBeeEqrBBbBeeEqqrBBbBeeEqqrBBbBbBeeEqqqrBBbBbBbBeeEqrBBbBbBeeEqqqqrBBbBbBbBbBbBbBbBeeEqqqqqbBbBbBbBbBbBeeEqQbBbBbB

    问题是:我在墙上显示图像时没有得到所需的图像。它只是显示了一个非常小的图像

    所以我试着在bits->string-to-buffer(string,“base64”)方法中找到所需的字符串

  • 我从在线转换器()获得了原始图像,提供了从服务器获得的相同字符串。这个图像是正确的
  • 然后我做了与上面描述的相反的过程——将图像转换为base64字符串。为此,我使用了图片到缓冲区(图片),然后使用缓冲区到字符串(“base64”),并显示了TouchDevelop为同一图像生成的base64字符串
  • 我从TouchDevelop获得的base64字符串(只是实际字符串的一小部分-实际字符串大小-23300个字符)

    ////////////////////////////////[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[z/xkZGf/////xkZGf8ZGRn///xkZGf8ZGRn/GRkZ/xkZGf/////GRkZ/xkZGf//////[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[RN/GRkZ/xkZGf8ZGRn////xkZGf8ZGRn///xkZGf8ZGRn/GRkZ/xkZGf///xkZGf8ZGRn//////


    您可能已经注意到,服务器上的base64字符串与TouchDevelop希望显示正确图像的base64字符串之间存在巨大差异。这会导致显示错误的图像。我陷入此问题有几天了。是否存在错误?如果没有,有人能帮我解决此问题吗?

    我不确定,但TouchDevelop中base64的输出类似于(Chrome认为该链接可疑,但实际上是安全的),尤其是“/”的数量(斜杠)。我想我们需要你如何制作base64的代码。哦,还有你得到的图像有多小?我从你提供的原始base64中得到了一个145x30px条形码。我的代码:。原始图像是145x30px条形码。但是正如你可能在代码中注意到的(以及它在右侧的输出),我得到了一个维度的图像,甚至不接近原始图像。