gpt4 book ai didi

android - 将图像从 ImageView 保存到设备图库

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:35:26 25 4
gpt4 key购买 nike

我正在尝试将图像从 ImageView 保存到设备库。我试过这段代码

代码编辑:

    URL url = new URL(getIntent().getStringExtra("imageURL"));
File f = new File(url.getPath());

addImageToGallery(f.getPath(), this);

public static void addImageToGallery(final String filePath, final Context context)
{

ContentValues values = new ContentValues();

values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis());
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
values.put(MediaStore.MediaColumns.DATA, filePath);

context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
}

但它需要一个我没有的文件路径,因为我是从 URL 加载文件的。如何将图像从 ImageView 保存到图库?

谢谢..

最佳答案

简单:

使用这段代码:

//to get the image from the ImageView (say iv)
BitmapDrawable draw = (BitmapDrawable) iv.getDrawable();
Bitmap bitmap = draw.getBitmap();

FileOutputStream outStream = null;
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard.getAbsolutePath() + "/YourFolderName");
dir.mkdirs();
String fileName = String.format("%d.jpg", System.currentTimeMillis());
File outFile = new File(dir, fileName);
outStream = new FileOutputStream(outFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outStream);
outStream.flush();
outStream.close();

此外,为了刷新图库并在那里查看图像:

    Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(file));
sendBroadcast(intent);

还要确保您的应用已启用存储权限:

转到设备设置>设备>应用程序>应用程序管理器>“您的应用程序”>权限>启用存储权限!

list 权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

关于android - 将图像从 ImageView 保存到设备图库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26718374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com