這個是從本體獲取 , 記住要導入訪問本體本件的權限
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;
}