我从服务器获取一个图像(以base64字符串格式编码)。必须将此base64编码的字符串转换回图像。我分两步进行:
将base64编码的字符串转换为缓冲区 - 使用位 - > string to buffer (string,“base64”)
将缓冲区写入图片(相同尺寸) - 使用图片 - >写缓冲区(缓冲区),然后我显示图片。
来自服务器的base64字符串(整个字符串):
iVBORw0KGgoAAAANSUhEUgAAAJEAAAAeCAYAAAAsPvwuAAAAmUlEQVR42u3SQQoAIQgAwL7h / X + 6sQsLHcqCPI7QITGNmvYsIiK + LEX + / ZjPcifnsnvs5pzW3PaunLGrm / W6eZPqv3yjQQQRRBBBBBFEEEEEEUQQQQQRRBBBBBFEEEEEEUQQQQQRRBBBBBFEEEEEEUQQQQQRRBBBBBFEEEEEEUQQQQQRRBBBBBFEEEEEEUQQQQQRRBBBVIuoAwQlLkAhgPjNAAAAAElFTkSuQmCC
问题是:当我在墙上显示时,我无法获得所需的图像。它只显示一个非常小的图像。
所以我尝试在比特中找到TouchDevelop所期望的字符串 - > string to buffer(string,“base64”)方法。
我从TouchDevelop获得的base64字符串(只是实际字符串的一小部分 - 实际字符串大小为23,300个字符):
//////////////////////////////// GRkZ / xkZGf //////////// //// 8ZGRn / GRkZ //////////// GRkZ / xkZGf8ZGRn / GRkZ ////// 8ZGRn / GRkZ / xkZGf8ZGRn ////// xkZGf8ZGRn //////// /// 8ZGRn / GRkZ / xkZGf8ZGRn ////// xkZGf8ZGRn ////////////////////// xkZGf8ZGRn ////// xkZGf8ZGRn ///// / xkZGf8ZGRn / GRkZ / xkZGf /////////// xkZGf8ZGRn ////// xkZGf8ZGRn / GRkZ / xkZGf ///////////////////// / GRkZ / xkZGf ////// GRkZ / xkZGf ////// GRkZ / xkZGf8ZGRn / GRkZ //////////// GRkZ / xkZGf8ZGRn / GRkZ ////// 8ZGRn / GRkZ / xkZGf8ZGRn ////////////////////// xkZGf8ZGRn ////// xkZGf8ZGRn ////// xkZGf8ZGRn /////////// 8ZGRn / GRkZ ////// 8ZGRn / GRkZ ////////////////////// 8ZGRn / GRkZ / xkZGf8ZGRn ////// xkZGf8ZGRn //// // xkZGf8ZGRn / GRkZ / xkZGf /////////// xkZGf8ZGRn //////////////// ......
您可能已经注意到,来自服务器的base64字符串和TouchDevelop期望显示正确图像的base64字符串有很大的不同。这导致显示不正确的图像。我被困在这个问题上几天了。有bug吗?如果没有,有人可以帮我解决这个问题吗?