android 讀取本地或網絡圖片,轉換爲Bitmap 並保存本地中

在做android項目時,我們經常需要從本地或者網絡讀取圖片,並轉換爲Bitmap圖片,以便使用,下面是讀取本地圖片並轉換的方法 


這個是從本體獲取 , 記住要導入訪問本體本件的權限

BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize=(int)7.5; /*圖片長寬方向縮小倍數*/
options.inJustDecodeBounds=false;
	
File file = new File("/storage/emulated/0/CheckAPP/CheckSign.jpg");
Uri uri = Uri.fromFile(file);
Bitmap map=BitmapFactory.decodeStream(getContentResolver().openInputStream(uri), null, options);
			

     這個是從網絡上獲取的圖片, 需要導入上網的權限

              URL url = new URL("http://d.hiphotos.baidu.com/zhidao/pic/item/962bd40735fae6cd0009f9410eb30f2442a70f54.jpg");
	      InputStream is = url.openStream();
	      bitmap = BitmapFactory.decodeStream(is);
	      hanlder.sendEmptyMessage(0x123);
	      is.close();
網絡上獲取的圖片圖片保存到本地

 

// 上面是從服務端獲取資源,下面是把資源保存在客戶端

	     is = url.openStream();
	     OutputStream os = openFileOutput("androidcc.jpg",MODE_WORLD_WRITEABLE);
	     byte[] b = new byte[1024];
	     int len = 0;
			
	     while ((len = is.read(b)) != -1) {
	     System.out.println("b:"+b[0]);								
	     os.write(b, 0, len);
	}
					
	   is.close();
	   os.close();

       將Bitmap保存到手機指定的目錄下

    private String createFile() {
		ByteArrayOutputStream baos = null;
		String _path = null;  //完整路徑
		try {	
			String sign_dir = Environment.getExternalStorageDirectory() + File.separator+"CheckAPP";
			File file=new File(sign_dir);
			if(!file.exists()){
				file.mkdirs(); //判斷是否存在, 不存在創建
				
			}
			_path = sign_dir +File.separator+  "CheckSign"+ ".jpg";  //System.currentTimeMillis()
			baos = new ByteArrayOutputStream();
			mSignBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); //100是圖片壓縮質量,表示100%不壓縮
			byte[] photoBytes = baos.toByteArray();
			
			if (photoBytes != null) {
				new FileOutputStream(new File(_path)).write(photoBytes);
			}

		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (baos != null)
					baos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return _path;
	}
	





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章