本文Android绘制Bitmap增加水印采用Paint画笔对图片进行绘制。
1.首先,创建一个画笔Paint对象
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);//
paint.setColor(color);//Color.BLACK
paint.setTextSize(20);//绘制文字大小
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), bounds);//画笔的绘制范围
//Paint.ANTI_ALIAS_FLAG :抗锯齿标志
//Paint.FILTER_BITMAP_FLAG : 使位图过滤的位掩码标志
//Paint.DITHER_FLAG : 使位图进行有利的抖动的位掩码标志
//Paint.UNDERLINE_TEXT_FLAG : 下划线
//Paint.STRIKE_THRU_TEXT_FLAG : 中划线
//Paint.FAKE_BOLD_TEXT_FLAG : 加粗
//Paint.LINEAR_TEXT_FLAG : 使文本平滑线性扩展的油漆标志
//Paint.SUBPIXEL_TEXT_FLAG : 使文本的亚像素定位的绘图标志
//Paint.EMBEDDED_BITMAP_TEXT_FLAG : 绘制文本时允许使用位图字体的绘图标志
2.在Bitmap上绘制文字
//绘制文字
private static Bitmap drawTextToBitmap(Bitmap bitmap, String text, Paint paint, int paddingLeft, int paddingTop) {
Bitmap.Config bitmapConfig = bitmap.getConfig();
paint.setDither(true); // 获取跟清晰的图像采样
paint.setFilterBitmap(true);// 过滤
if (bitmapConfig == null) {
bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888;
}
bitmap = bitmap.copy(bitmapConfig, true);
Canvas canvas = new Canvas(bitmap);
canvas.drawText(text, paddingLeft, paddingTop, paint);
return bitmap;
}
3.最后看下效果