如何使用JBitmap / JBitmapFactory解码TMemoryStream中的PNG图像

时间:2018-11-07 22:19:44

标签: android delphi

使用Delphi Tokyo 10.2.3并针对Android,我正在创建多个线程来下载PNG图像并在后台对其进行解码。

由于稳定性原因,不能选择使用TBitmap: Getting multi-threaded safe RGBA values from a decoded PNG image running Android

我相信可以使用JBitmap / JBitmapFactory类对PNG文件进行解码,但是我找不到有关如何执行此操作的任何文档。

我当前的代码将PNG图像下载到TMemoryStream中。我希望找到将在TMemoryStream中接收并输出JBitmap的示例代码。

类似这样的东西:

function DecodeBitmapFromStream(mStream : TMemoryStream) : JBitmap;

1 个答案:

答案 0 :(得分:4)

  

我相信可以使用JBitmap / JBitmapFactory类对PNG文件进行解码,但是我找不到有关如何执行此操作的任何文档。

在Embarcadero的JNIBridge框架中,带有helpJ的类型是本机Android Java类型的接口/类包装。因此,您需要阅读Google的文档,在这种情况下为BitmapBitmapFactory类引用,然后根据需要使属性和方法调用适应Embarcadero的语法。

  

我当前的代码将PNG图像下载到TMemoryStream中。我希望找到将在TMemoryStream中接收并输出JBitmap的示例代码。

尝试这样的事情:

TJ