java - 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 扩展?我可以用什么来代替它?
解决方案
这里至少有几个问题,
- buffer_*_surface 函数需要原始 RGBA 数据,而不是 PNG 文件。
- 您将内容作为字符串返回,这可能会出现问题,具体取决于处理 NUL 终止的方式。如果您的文件被截断(在您修复格式之后),请尝试将其编码为 base64。
推荐阅读
- swift - tvOS 中的“AVFocusProxyView”是什么?得到一个奇怪的焦点问题
- c# - 新类对象 - 保留旧值
- android - 如何从 Android 调用后端 Python 脚本
- php - MySQL在单个单元格中通过多个ID连接查询
- angular - 什么是 Angular 中的示意图?
- d3.js - 将饼图更改为箭头环形图
- php - 函数未返回预期结果
- php - Yii2-view 在提交 excel 文件后给我错误
- android - 如何在奥利奥重新注册地理围栏
- android - java.lang.IllegalArgumentException:无效的 Region.Op - 按钮背景失败中只有 INTERSECT 和 DIFFERENCE