为图片增加水印我们可以通过canvas来绘制,首先我们新创建一个工具类:
object WaterMarkHelper { fun createWaterMaskBitmap(context: Activity?, src: Bitmap, watermark: String, paddingLeft: Int, paddingTop: Int): Bitmap { //底层图片宽高 val width = src.width val height = src.height val paint = Paint() //初始化笔 with(paint) { color = Color.parseColor("#ffe5e5e5") isAntiAlias = true textSize = 24f } //测量文字宽度 val textWidth = paint.measureText(watermark).toInt() //创建一个bitmap val newBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)// 创建一个新的和SRC长度宽度一样的位图 val canvas = Canvas(newBitmap) //将该图片作为画布,绘制开始坐标根据图片宽高决定 canvas.drawBitmap(src, (canvas.width - width) / 2f, (canvas.height - height) / 2f, null) //绘制水印 for (i in paddingTop..height step 150) {