服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Android读取本地或网络图片并转换为Bitmap

Android读取本地或网络图片并转换为Bitmap

2020-06-03 11:24java教程网 Java教程

这篇文章主要为大家详细介绍了Android读取本地或网络图片,并转换为Bitmap,感兴趣的小伙伴们可以参考一下

在做android项目时,我们经常需要从本地或者网络读取图片,并转换为Bitmap图片,以便使用,下面是读取本地图片并转换的方法:
Java代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
  * 得到本地或者网络上的bitmap url - 网络或者本地图片的绝对路径,比如:
  *
  * A.网络路径: url="http://blog.foreverlove.us/girl2.png" ;
  *
  * B.本地路径:url="file://mnt/sdcard/photo/image.png";
  *
  * C.支持的图片格式 ,png, jpg,bmp,gif等等
  *
  * @param url
  * @return
  */
 public static Bitmap GetLocalOrNetBitmap(String url)
 {
  Bitmap bitmap = null;
  InputStream in = null;
  BufferedOutputStream out = null;
  try
  {
   in = new BufferedInputStream(new URL(url).openStream(), Constant.IO_BUFFER_SIZE);
   final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
   out = new BufferedOutputStream(dataStream, Constant.IO_BUFFER_SIZE);
   copy(in, out);
   out.flush();
   byte[] data = dataStream.toByteArray();
   bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
   data = null;
   return bitmap;
  }
  catch (IOException e)
  {
   e.printStackTrace();
   return null;
  }
 }

说明:Constant.IO_BUFFER_SIZE 是一个常量而已,可以改成常数,比如2*1024,其实取决于你的图片大小,自己根据图片的大小自己设定吧。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

延伸 · 阅读

精彩推荐