簡體   English   中英

如何將 4096 分辨率的圖像保存到 android 的設備庫中?

[英]How to save image in 4096 resolution into device gallery in android?

我想將layout作為4096X40962048X2048分辨率的image保存到設備庫中,而不會丟失其縱橫比或質量。

謝謝你。

編輯

private void getBitmap(View view) {
    view.setDrawingCacheEnabled(true);

    view.buildDrawingCache();

    Bitmap bm = view.getDrawingCache();
}

我從上面的代碼中得到了一個視圖的 bitmap。 那么如何以高分辨率將其保存在設備中。

保存后的原始圖像圖像

Compressor是一個很好的圖像轉換庫。 Resizer的靈感來自 Compressor,它具有更好的壓縮質量。

調整圖像大小

    Bitmap resizedImage = new Resizer(this)
            .setTargetLength(2048)
            .setQuality(100)
            .setSourceImage(originalImage)
            .getResizedBitmap();

保存圖片

imageHolder.setDrawingCacheEnabled(true);
Bitmap bitmap = imageHolder.getDrawingCache();
MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "filename", "description");
Toast.makeText(context, "saved", Toast.LENGTH_SHORT).show();

注意:使用 ImageView 在您的 Activity 中設置圖像。 將 ImageView 的 ID 作為 imageHolder。 AndroidManifest中賦予READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE權限

編輯:

將布局轉換為 Bitmap

layout = (LinearLayout) findViewById(R.id.linearLayout_view);
private File getBitmapFromView(layout){
private Bitmap getBitmapFromView(View view) {
    Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(),view.getHeight(),Bitmap.Config.ARGB_8888);
    return returnedBitmap;
}

希望這可以幫助。 隨時要求任何澄清。

暫無
暫無

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

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