Java 扩展将位图(图像)作为字节数组返回为字符串,我需要在我的游戏中显示图像。如何?

所以我有一个java扩展(java代码: https: //pastebin.com/cpwf5LzT)。它有 1 个函数,该函数有 1 个被String调用的参数fname。它返回一个String. 该函数应该从 的路径获取文件fname,如果它是图像文件,则将其作为Bitmap. 然后我将 更改Bitmap为字节数组(byte[]),然后将字节数组更改为String并返回它。

扩展工作正常,但我的问题是我不知道如何更改String函数返回到字节数组的变量以及如何将字节数组更改为精灵或将其粘贴到表面上。

那么对这类事情有一定了解的人可以帮助我吗?谢谢!

更新#1:

因此,我设法将输出字符串添加到缓冲区中并绘制它,但这就是与原始图像相比的结果:

不过,如果我制作一个新的精灵,将精灵绘制到表面并将表面的位图获取到缓冲区,结果很好......

这是我使用的代码:https://pastebin.com/KhPhVr5p (load_image函数是java扩展的函数)(draw_buffer函数是使用此扩展的函数并且应该绘制缓冲区的函数)

也许是因为 buffer_getpixel 扩展?我可以用什么来代替它?


慕雪6442864
浏览 90回答 1
1回答

BIG阳

这里至少有几个问题,buffer_*_surface 函数需要原始 RGBA 数据,而不是 PNG 文件。您将内容作为字符串返回,这可能会出现问题,具体取决于 NUL 终止的处理方式。如果您的文件被切断(在修复格式之后),请尝试将其编码为 base64。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java