Android图片水印与文字添加实例代码详解

1 下载量 161 浏览量 更新于2024-09-02 收藏 52KB PDF 举报
本文档详细介绍了在Android开发中如何给图片添加文字和图片水印的功能。通过创建一个名为`ImageUtil`的工具类,作者提供了一个实用的方法`createWaterMaskLeftTop`来实现实例代码,帮助开发者处理图片水印的需求。 首先,`createWaterMaskLeftTop`方法接收五个参数:`Context context`(上下文环境),`Bitmap src`(原始图片),`Bitmap watermark`(水印图片),以及两个用于指定水印位置的`int paddingLeft`和`int paddingTop`。这些参数分别表示水印在图片左上角的偏移量。 方法内部首先检查输入参数的合法性,然后计算原始图片的宽度`width`和高度`height`。接着,创建一个新的位图`newb`,其大小与源图片相同,并配置为ARGB_8888格式,这是常见的32位颜色模式,支持透明度。 创建一个新的`Canvas`对象,将新位图作为画布,开始在0,0坐标绘制原始图片`src`。随后,使用`drawBitmap`方法在指定的偏移量`paddingLeft`和`paddingTop`处绘制水印图片。这个过程确保了水印不会覆盖原始图片的其他部分。 最后,通过调用`canvas.save()`方法保存当前的绘图状态,可能涉及到保存原始图片和水印的位置关系。`Canvas.ALL_SAVE_FLAG`是一个标志,表示保存所有层叠的位图变换和Alpha值,这样可以确保水印和图片的叠加效果正确。 这个工具类中的`createWaterMaskBitmap`方法是`createWaterMaskLeftTop`的基础,它封装了更通用的图片合并逻辑,可以根据不同的需求调整水印位置。这对于在Android应用中实现图片编辑功能,如用户头像添加个性签名、企业logo等场景非常有用。 通过这篇实例代码,开发者可以直接在自己的项目中引用并定制图片水印功能,提高开发效率,同时也方便维护和扩展。如果你正在寻找一个简单的Android图片水印解决方案,这篇教程提供了很好的起点。