在 LibGDX 中保存和检索图像文件

2022-01-12 00:00:00 android java libgdx

如何在 LibGDX 中保存和检索图像文件.我想将图像文件保存在 AndroidApplication 类的本地存储中,并在我的核心项目中检索它.

How to Save and retrieve an image file in LibGDX. I want to save an image file in local storage in AndroidApplication class and retrieve it in my Core project.

推荐答案

Libgdx 中的文件处理在 libGDX 维基.

The file handling in Libgdx is well describe in the libGDX wiki.

简而言之:您正在使用 FileHandle 对象打开文件,该对象可以通过调用其中之一来检索

In a nutshell: you are opening the file using FileHandle object that can be retrieved by calling one of

    Gdx.files.external("path.txt"); //files on SD card [Android]
    Gdx.files.absolute("path.txt"); //absolute path to file
    Gdx.files.internal("path.txt"); //asset directory
    Gdx.files.local("path.txt"); //local storage - only here you can write safely!

然后从文件创建纹理看起来像

Then creating texture from file looks like

    Texture tex = new Texture( Gdx.files.internal("path.jpg") );

那么您应该做的是使用 external() 获取文件以检索 FileHandle,然后用它做任何你想做的事情,然后使用 local() 保存它.FileHandle 有方法 readBytes() 和 writeBytes 允许您打开/保存数据

Then what you should do would be to get a file using external() to retrieve FileHandle, then do whatever you want with it and just save it using local(). FileHandle has methods readBytes() and writeBytes that allows you to open/save data

    FileHandle from = Gdx.files.external("image.jpg");
    byte[] data = from.readBytes();

    ...

    FileHandle to = Gdx.files.local("image.jpg");
    to.writeBytes(data);

<小时>

如果您想在保存之前修改图像,您应该查看 Pixmap 和 PixmapIO 类

相关文章