首頁  >  文章  >  Java  >  如何使用自訂元資料將影像儲存到 Android 圖庫?

如何使用自訂元資料將影像儲存到 Android 圖庫?

Barbara Streisand
Barbara Streisand原創
2024-11-02 17:08:29166瀏覽

How to Save an Image to the Android Gallery with Custom Metadata?

將影像儲存到 Android 中的圖庫

將影像儲存到 Android 應用程式中的圖庫可以透過 MediaStore 類別來實現。在 onOptionsItemSelected 偵聽器中使用以下方法:

<code class="java">MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, title, description);</code>

其中位圖是您的圖像,標題和描述是可選元資料。此方法將圖像新增至圖庫的末端。

自訂影像元資料

如果您希望修改影像的日期或其他元資料以正確放置在圖庫中:

<code class="java">// Import the necessary libraries
import android.provider.MediaStore;
import android.graphics.Bitmap;

// New method to insert image with customized metadata
public static String insertImageWithMetadata(ContentResolver cr, Bitmap source, String title, String description, long timestamp) {
    ContentValues values = new ContentValues();
    values.put(MediaStore.Images.Media.TITLE, title);
    values.put(MediaStore.Images.Media.DISPLAY_NAME, title);
    values.put(MediaStore.Images.Media.DESCRIPTION, description);
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
    values.put(MediaStore.Images.Media.DATE_ADDED, timestamp);
    values.put(MediaStore.Images.Media.DATE_TAKEN, timestamp);

    Uri uri = null;
    String stringUrl = null;

    try {
        uri = cr.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

        if (source != null) {
            OutputStream imageOut = cr.openOutputStream(uri);
            source.compress(Bitmap.CompressFormat.JPEG, 50, imageOut);
            imageOut.close();
        } else {
            cr.delete(uri, null, null);
            uri = null;
        }
    } catch (Exception e) {
        if (uri != null) {
            cr.delete(uri, null, null);
            uri = null;
        }
    }

    if (uri != null) {
        stringUrl = uri.toString();
    }

    return stringUrl;
}</code>

此方法包含用於自訂DATE_ADDED 和DATE_TAKEN 值的附加參數,可讓您控制影像在圖庫中的位置。時間戳參數表示以毫秒為單位的日期和時間。

以上是如何使用自訂元資料將影像儲存到 Android 圖庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn