gpt4 book ai didi

android - 如何打开图库中的图像?

转载 作者:太空狗 更新时间:2023-10-29 14:07:43 25 4
gpt4 key购买 nike

有一个图片路径是这样的:

String path = "http://mysyte/images/artist/artist1.jpg"

我有 ImageView,它加载了图片的一个小副本。我用的是边库Picaso:

Picasso.with(getApplicationContext()).load(path).into(imageview);

在Imageview上创建事件Onclick():

public void click_img(View v){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);

startActivity(intent);
}

如何打开图库中的图像,图库的全屏尺寸?在哪里可以找到实现它的方法,但在 drawable-resources 中,我需要它是通过图片的远程路径?

最佳答案

执行此操作最直接的方法是将图像保存到 SD,然后使用 Intent 打开默认图库应用。

由于您已经在使用 Picasso,这里有一种使用该库的方法:

private Target mTarget = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
// Perform simple file operation to store this bitmap to your sd card
saveImage(bitmap);
}

@Override
public void onBitmapFailed(Drawable errorDrawable) {
// Handle image load error
}
}

private void saveImage(Bitmap finalBitmap) {

String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/saved_images");
myDir.mkdirs();
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String fname = "Image-"+ n +".jpg";
File file = new File (myDir, fname);
if (file.exists ()) file.delete ();
try {
FileOutputStream out = new FileOutputStream(file);
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();

} catch (Exception e) {
e.printStackTrace();
}
}

Target 是 Picasso 提供的类。只需覆盖 onBitmapLoaded 方法,以便将您的图像保存到 SD。我为您提供了 saveImage 的示例方法。参见 this answer了解更多信息。

您还需要将此权限添加到您的 list 中:

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

关于android - 如何打开图库中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31658412/

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