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


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

/** 
  * 得到本地或者网络上的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,其实取决于你的图片大小,自己根据图片的大小自己设定吧。

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


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3