毕加索从文件系统加载图像

我可以使用Picasso库从文件系统加载图像吗?

我使用startActivityForResult让用户从他的画廊中select一张照片,然后想要显示选定的图像。

我已经有工作代码来获取图像文件系统Uri ,但无法使Picasso.load()方法工作。

当然可以。 其实非常简单:

 File f = new File("path-to-file/file.png") 

要么

 File f = new File(uri) Picasso.with(getActivity()).load(f).into(imageView); 

 Picasso.with(getActivity()).load(uri).into(imageView); 

作品

是的你可以。

尝试:

 Picasso.with(context).load(new File(YOUR_FILE_PATH)).into(imageView); 

编辑

您也可以调用.load(YOUR_URI)

查看源代码,我还发现,您可以从文件系统加载file:string前缀到您的图像path加载图像。 例如:

 file:path/to/your/image 

另外,当使用startActivityForResult时,你会得到像这样的东西:

 Uri imageContent = data.getData(); 

然后,你可以调用Picasso.with(getContext()).load(imageContent.toString).into(imageView); 直接不需要创build一个Cursor和查询图像path。

尝试这个:

 Picasso.with(context) .load("file://"+path) // Add this .config(Bitmap.Config.RGB_565) .fit().centerCrop() .into(imageView); 

这对我来说是完美的。

基本上我们需要三件事情, Contextimage´s pathImageView容器

 Picasso.with(context).load("/files/my_image.jpg").into(myImageView); 

但我们可以利用更多的select:

  .resize(20, 20) .centerCrop() .placeholder(R.drawable.user_placeholder) .error(R.drawable.user_placeholder_error) 

等等…

更多信息: http : //square.github.io/picasso/