Java将数字转bitmap_Bitmap转化

/**

* 将bitmap转换成base64字符串

*

* @param bitmap

* @return base64 字符串

*/

public static String bitmap2String(Bitmap bitmap, int bitmapQuality) {

String string;

ByteArrayOutputStream bStream = new ByteArrayOutputStream();

bitmap.compress(CompressFormat.PNG, bitmapQuality, bStream);

byte[] bytes = bStream.toByteArray();

string = Base64.encodeToString(bytes, Base64.DEFAULT);

return string;

}

/**

* 将base64转换成bitmap图片

*

* @param string base64字符串

* @return bitmap

*/

public static Bitmap string2Bitmap(String string) {

Bitmap bitmap = null;

try {

byte[] bitmapArray;

bitmapArray = Base64.decode(string, Base64.DEFAULT);

bitmap = BitmapFactory.decodeByteArray(bitmapArray, 0,

bitmapArray.length);

} catch (Exception e) {

e.printStackTrace();

}

return bitmap;

}

public static Bitmap resource2Bitmap(int id){

return BitmapFactory.decodeResource(getResources(),id);

}

/**

* drawable转化成bitmap

* @param drawable

* @return

*/

public static Bitmap drawable2Bitmap(Drawable drawable) {

int w = drawable.getIntrinsicWidth();

int h = drawable.getIntrinsicHeight();

System.out.println("Drawable转Bitmap");

Bitmap.Config config =

drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888

: Bitmap.Config.RGB_565;

Bitmap bitmap = Bitmap.createBitmap(w, h, config);

//注意,下面三行代码要用到,否则在View或者SurfaceView里的canvas.drawBitmap会看不到图

Canvas canvas = new Canvas(bitmap);

drawable.setBounds(0, 0, w, h);

drawable.draw(canvas);

return bitmap;

}

/**

* bitmap转drawable

* @param bitmap

* @return

*/

public static Drawable bitmap2Drawable(Bitmap bitmap){

return new BitmapDrawable(bitmap);

}

/**

* bitmap转byte

* @param bitmap

* @return

*/

public static byte[] bitmap2Bytes(Bitmap bitmap){

ByteArrayOutputStream baos = new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);

return baos.toByteArray();

}

/**

* byte转bitmap

* @param b

* @return

*/

public static Bitmap bytes2Bimap(byte[] b) {

if (b.length != 0) {

return BitmapFactory.decodeByteArray(b, 0, b.length);

} else {

return null;

}

}

转载至链接:https://my.oschina.net/carbenson/blog/1923891

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值