使用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;
答案 0 :(得分:4)
我相信可以使用JBitmap / JBitmapFactory类对PNG文件进行解码,但是我找不到有关如何执行此操作的任何文档。
在Embarcadero的JNIBridge框架中,带有help
和J
的类型是本机Android Java类型的接口/类包装。因此,您需要阅读Google的文档,在这种情况下为Bitmap和BitmapFactory类引用,然后根据需要使属性和方法调用适应Embarcadero的语法。
我当前的代码将PNG图像下载到TMemoryStream中。我希望找到将在TMemoryStream中接收并输出JBitmap的示例代码。
尝试这样的事情:
TJ