在做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,其實取決於你的圖片大小,自己根據圖片的大小自己設定吧。。。。