Ram*_*hir 7 java file-io android image bitmap
我正在尝试从外部存储加载图像.我设置权限,我尝试了不同的方式,但没有一个工作.
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(file.toString());
tv.setImageBitmap(bitmap);
Run Code Online (Sandbox Code Playgroud)
还有这个,
FileInputStream streamIn = new FileInputStream(file);
Bitmap bitmap = BitmapFactory.decodeStream(streamIn);
tv.setImageBitmap(bitmap);
streamIn.close();
Run Code Online (Sandbox Code Playgroud)
Dha*_*mar 22
如果我有文件abc.jpg,sdcard那么:
String photoPath = Environment.getExternalStorageDirectory() + "/abc.jpg";
Run Code Online (Sandbox Code Playgroud)
得到bitmap.
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(photoPath, options);
Run Code Online (Sandbox Code Playgroud)
要么
Bitmap bitmap1 = BitmapFactory.decodeFile(photoPath);
Run Code Online (Sandbox Code Playgroud)
为了避免内存不足错误我建议您使用以下代码...
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
final Bitmap b = BitmapFactory.decodeFile(photoPath, options);
Run Code Online (Sandbox Code Playgroud)
为避免上述问题,您可以使用Picasso(适用于Android的强大图像下载和缓存库)
如何?
Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.with(context).load(new File(...)).into(imageView3);
Run Code Online (Sandbox Code Playgroud)
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File (sdCard.getAbsolutePath() + "/Pictures");
File file = new File(directory, "image_name.jpg"); //or any other format supported
FileInputStream streamIn = new FileInputStream(file);
Bitmap bitmap = BitmapFactory.decodeStream(streamIn); //This gets the image
streamIn.close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49154 次 |
| 最近记录: |