簡體   English   中英

libGDX:Android不保存截圖

[英]libGDX: Android doesn't save screenshot

問題是,例如,當您在顯示器上單擊時,應該保存屏幕截圖,但這並沒有發生,圖像根本不在圖庫或其他地方,而如果您測試桌面版本,屏幕已成功保存。 我正在通過保存工作為 android 制作繪圖,但我不知道如何在 android 上保存圖片。

if (Gdx.input.isTouched())
{
    byte[] pixels = ScreenUtils.getFrameBufferPixels(0, 0, Gdx.graphics.getBackBufferWidth(), Gdx.graphics.getBackBufferHeight(), true);
    for (int i = 4; i < pixels.length; i += 4)
    {
        pixels[i - 1] = (byte) 255;
    }

    Pixmap pixmap = new Pixmap(Gdx.graphics.getBackBufferWidth(), Gdx.graphics.getBackBufferHeight(), Pixmap.Format.RGBA8888);
    BufferUtils.copy(pixels, 0, pixmap.getPixels(), pixels.length);
    PixmapIO.writePNG(Gdx.files.local("mypixmap.png"), pixmap);
    local = Gdx.files.getExternalStoragePath().toString();
    System.out.println(Gdx.files.getLocalStoragePath());
    System.out.println(Gdx.files.getExternalStoragePath());
    pixmap.dispose();
}

Gdx.files.local僅供您的內部文件使用,無法通過圖庫訪問。

您需要使用Gdx.files.external ,但是當前的 libGDX 版本在這里使用了一個在正常情況下也無法訪問的路徑。 它在下一個版本中被更改

根據您想要實現的目標,還有其他方法可以使用特定於平台的代碼。

  • 您要定期保存屏幕截圖嗎? 從 1.9.12 開始使用特定於應用程序的存儲
  • 您想將屏幕截圖分享到其他應用程序嗎? 使用本地存儲和androidx.core.content.FileProvider
  • 你想打開一個對話框,用戶可以保存圖像嗎? 使用存儲訪問框架

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM