【问题标题】: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 扩展将位图(图像)作为字节数组作为字符串返回,我需要在我的游戏中显示图像。如何?
【发布时间】:2020-02-23 01:16:27
【问题描述】:

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

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

那么,任何对这类东西有一些了解的人都可以帮助我吗?谢谢!

更新 #1:

所以我设法将输出字符串添加到缓冲区中并绘制它,但与原始图像相比,结果如下:image

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

这是我使用的代码:https://pastebin.com/KhPhVr5p (load_image函数是java扩展的函数) (draw_buffer函数是一个使用this extension's functions的函数,应该绘制缓冲区)

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

【问题讨论】:

  • 我不是很清楚,你是不是想改变在 load_image 中作为参数传递的 fname 字符串?
  • @JulianoPacheco 在获得 java 扩展的函数 String 的输出后,我正在尝试使用 GameMaker 代码将其带回字节数组并将位图绘制到表面或作为精灵。跨度>

标签: java arrays bitmap surface game-maker


【解决方案1】:

这里至少有几个问题,

  • buffer_*_surface 函数需要原始 RGBA 数据,而不是 PNG 文件。
  • 您将内容作为字符串返回,这可能会出现问题,具体取决于处理 NUL 终止的方式。如果您的文件被截断(在您修复格式后),请尝试将其编码为 base64。

【讨论】:

猜你喜欢
  • 2010-11-09
  • 2019-08-04
  • 1970-01-01
  • 2021-07-21
  • 2013-05-18
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 1970-01-01
相关资源
最近更新 更多