Picasso.with(context).load("url").into(imageView);
Run Code Online (Sandbox Code Playgroud)
这里代替网址,我想要位图,我怎么能实现这一点.如下 -
Picasso.with(context).load(bitmap).into(imageView);
Run Code Online (Sandbox Code Playgroud)
小智 14
这应该适合你.将返回的URI与Picasso一起使用.
public Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}
Run Code Online (Sandbox Code Playgroud)
我的 Kotlin 解决方案
从数据创建位图
val inputStream = getContentResolver().openInputStream(data.data)
val bitmap = BitmapFactory.decodeStream(inputStream)
val stream = ByteArrayOutputStream()
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream)
Run Code Online (Sandbox Code Playgroud)
重要提示: 如果您不需要存储图像,您可以避免使用 Picasso 并立即加载图像
imageView.setImageBitmap(bitmap)
Run Code Online (Sandbox Code Playgroud)
否则存储文件并用毕加索加载它
val jpegData = stream.toByteArray()
val file = File(cacheDir, "filename.jpg")
file.createNewFile()
val fileOS = FileOutputStream(file)
fileOS.write(jpegData)
fileOS.flush()
fileOS.close()
Picasso.get().load(Uri.parse(file.path)).into(imageView)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15210 次 |
| 最近记录: |