根据路径读取bitmap
时间: 2024-05-10 10:13:41 浏览: 29
可以使用Android SDK提供的BitmapFactory类中的decodeFile方法,指定路径作为参数即可读取Bitmap文件。例如:
```
String imagePath = "/sdcard/test.jpg";
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
```
注意需要读取图像的权限。
相关问题
android中bitmap读取图片
在Android中,可以使用多种方式来读取图片并生成Bitmap对象。以下是几种常见的方法:
1. 使用文件流方式读取图片:
```
FileInputStream fis = new FileInputStream("/sdcard/test.png");
Bitmap bitmap = BitmapFactory.decodeStream(fis);
```
2. 使用R文件方式读取图片:
```
Bitmap bitmap = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.test);
```
3. 使用ResourceStream方式读取图片,但不使用R文件:
```
Bitmap bitmap = BitmapFactory.decodeStream(getClass().getResourceAsStream("/res/drawable/test.png"));
```
在读取图片时,还可以通过设置BitmapFactory.Options来进行一些优化操作。例如,可以设置inSampleSize来减小图片的宽高,从而减少内存占用:
```
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2; // 图片宽高都为原来的二分之一,即图片为原来的四分之一
Bitmap bitmap = BitmapFactory.decodeStream(fis, null, options);
```
需要注意的是,以上方法中的路径或资源ID需要根据实际情况进行修改。此外,在使用ImageView显示Bitmap时,可以通过开启视图缓存的方式来获取缓存的Bitmap对象:
```
imageView.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(imageView.getDrawingCache());
imageView.setDrawingCacheEnabled(false);
```
最后,根据需要对获取到的Bitmap对象进行进一步的处理,例如模糊处理等。
#### 引用[.reference_title]
- *1* [安卓Bitmap读取图片](https://blog.csdn.net/zbuger/article/details/46895335)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Android中从ImageView中取出图片bitmap注意事项](https://blog.csdn.net/u013933272/article/details/50987092)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Android学习 | 10.使用位图工具Bitmap在存储卡上读写图片文件](https://blog.csdn.net/M_Nobody/article/details/126141636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
winform 读取指定目录所有bitmap
要在WinForm中读取指定目录下的所有bitmap,可以使用以下代码:
```csharp
string directoryPath = "<指定目录路径>";
string[] imageFiles = Directory.GetFiles(directoryPath, "*.bmp");
List<Bitmap> bitmaps = new List<Bitmap>();
foreach (string imagePath in imageFiles)
{
Bitmap bitmap = new Bitmap(imagePath);
bitmaps.Add(bitmap);
}
```
这段代码首先使用`Directory.GetFiles`方法获取指定目录下所有以`.bmp`为扩展名的文件路径。然后使用`Bitmap`类将每个文件转换为`Bitmap`对象,并将它们添加到一个`List<Bitmap>`中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)