Android Bitmap图形绘制与Base64转换

1.绘制使用Bitmap

Bitmap bmp = Bitmap.createBitmap(dm.widthPixels, 200, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
Paint paint  = new Paint();
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/CONSOLA.TTF");
paint.setTypeface(typeface);
paint.setColor(Color.GREEN);
paint.setTextSize(40);
canvas.drawText("Hello World", 100,100, paint);
srcImageView.setImageBitmap(bmp);

和绘制drawable类似,这里不再赘述。

Drawable drwable =  new Drawable() {
			
	@Override
	public void setColorFilter(ColorFilter cf) {
				// TODO Auto-generated method stub
				
	}
			
	@Override
	public void setAlpha(int alpha) {
				// TODO Auto-generated method stub
				
	}
			
	@Override
	public int getOpacity() {
		// TODO Auto-generated method stub
	         return 0;
	}
			
			@Override
	public void draw(Canvas canvas) 
	{
		// TODO Auto-generated method stub
				
	}
};

2.Bitmap与Base64字符串相互转换

/**
     * bitmap转为base64
     * @param bitmap
     * @return
     */
    public static String bitmapToBase64(Bitmap bitmap) {
 
        String result = null;
        ByteArrayOutputStream baos = null;
        try {
            if (bitmap != null) {
                baos = new ByteArrayOutputStream();
                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
 
                baos.flush();
                baos.close();
 
                byte[] bitmapBytes = baos.toByteArray();
                result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (baos != null) {
                    baos.flush();
                    baos.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return result;
    }
 
    /**
     * base64转为bitmap
     * @param base64Data
     * @return
     */
    public static Bitmap base64ToBitmap(String base64Data) {
        byte[] bytes = Base64.decode(base64Data, Base64.DEFAULT);
        return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
    }

 

转载于:https://my.oschina.net/ososchina/blog/347538

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值