// 工具類 如下
// 獲取imageview的image并轉(zhuǎn)化為可傳遞的數(shù)據(jù)
public class KapBitmapHalper {
// 獲取imageview的圖片,并且轉(zhuǎn)化為可傳遞的string
public static String GetStringByImageView(ImageView imageView){
// 從ImageView得到Bitmap對象
Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
// 把Bitmap轉(zhuǎn)碼成字符串
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 50,baos);
String imageBase64 = new String (Base64.encode(baos.toByteArray(), 0));
return imageBase64;
}
// 將字符串轉(zhuǎn)化為圖片
public static Bitmap GetBitmapByImageString(String imageBase64){
byte[] byte64 = Base64.decode(imageBase64, 0);
ByteArrayInputStream bais = new ByteArrayInputStream(byte64);
Bitmap bitmap = BitmapFactory.decodeStream(bais);
return bitmap;
}
/**
* 提供一個簡單的傳遞(全局公用 僅僅可以暫存一張圖片)
* saveImageView
* getImageBitMap
* */
private static String imageString = null;
public static void SaveImageView(ImageView imageView){
imageString = GetStringByImageView(imageView);
}
// R.mipmap.mine_placehold 是默認的占位圖,防止null 引起crach
public static Bitmap GetImageBitMap(){
if (imageString == null) return BitmapFactory.decodeResource(Resources.getSystem(), R.mipmap.mine_placehold);
return GetBitmapByImageString(imageString);
}
// 使用
// 需要傳遞的頁面
KapBitmapHalper.SaveImageView(imageView);
startActivity(new Intent(KapMineCenterActivity.this, KapAccountDetailActivity.class));
// 需要獲取的頁面
imageView.setImageBitmap(KapBitmapHalper.GetImageBitMap());