Java extension return 位图(图像)作为字节数组作为字符串,我需要在我的游戏中显示图像。如何?
Java extension return a Bitmap(image) as a Byte Array as a String and I need to display the image in my Game. How?
所以我有一个 java 扩展(java 代码:https://pastebin.com/cpwf5LzT)。它有 1 个函数,函数有 1 个参数,即 String
,称为 fname
。而且它returns一个String
。该函数应该从 fname
的路径获取文件,如果它是图像文件,则将其作为 Bitmap
获取。然后我将 Bitmap
更改为字节数组( byte[]
),然后将字节数组更改为 String
和 returns 它。
扩展工作正常,但我的问题是我不知道如何将 String
变量和函数 returns 更改为字节数组,并将字节数组更改为 sprite 或粘贴它在表面上。
所以任何对这类东西有一定了解的人都可以帮助我吗?谢谢!
更新#1:
所以我设法将输出字符串添加到缓冲区中并绘制它,但与原始图像相比结果是这样的:image
如果我制作一个新的精灵,将精灵绘制到表面并将表面的位图获取到缓冲区,结果很好...
这是我使用的代码:https://pastebin.com/KhPhVr5p
(load_image函数是java扩展的函数)
(draw_buffer函数是使用this extension's functions的函数,应该绘制缓冲区)
可能是因为 buffer_getpixel 扩展?我可以用什么来代替它?
这里至少有几个问题,
- buffer_*_surface 函数需要原始 RGBA 数据,而不是 PNG 文件。
- 您正在以字符串形式返回内容,这可能会出现问题,具体取决于 NUL 终止的处理方式。如果您的文件被截断(在您修复格式后),请尝试将其编码为 base64。
所以我有一个 java 扩展(java 代码:https://pastebin.com/cpwf5LzT)。它有 1 个函数,函数有 1 个参数,即 String
,称为 fname
。而且它returns一个String
。该函数应该从 fname
的路径获取文件,如果它是图像文件,则将其作为 Bitmap
获取。然后我将 Bitmap
更改为字节数组( byte[]
),然后将字节数组更改为 String
和 returns 它。
扩展工作正常,但我的问题是我不知道如何将 String
变量和函数 returns 更改为字节数组,并将字节数组更改为 sprite 或粘贴它在表面上。
所以任何对这类东西有一定了解的人都可以帮助我吗?谢谢!
更新#1:
所以我设法将输出字符串添加到缓冲区中并绘制它,但与原始图像相比结果是这样的:image
如果我制作一个新的精灵,将精灵绘制到表面并将表面的位图获取到缓冲区,结果很好...
这是我使用的代码:https://pastebin.com/KhPhVr5p (load_image函数是java扩展的函数) (draw_buffer函数是使用this extension's functions的函数,应该绘制缓冲区)
可能是因为 buffer_getpixel 扩展?我可以用什么来代替它?
这里至少有几个问题,
- buffer_*_surface 函数需要原始 RGBA 数据,而不是 PNG 文件。
- 您正在以字符串形式返回内容,这可能会出现问题,具体取决于 NUL 终止的处理方式。如果您的文件被截断(在您修复格式后),请尝试将其编码为 base64。