相机水印还是不能添加水印吗

  华为相机水印拍照可以自动添加一个水印,在相机水印的使用过程中可以对照片添加水印,从而让拍摄出的图片独一无二那么华为相机水印水印怎么设置?华为相機水印水印设置在哪里本期视频就教大家华为相机水印水印设置方法。

  打开相机水印然后向左滑动

  将自动添加水印功能打开即鈳

  本期视频到这就结束了,喜欢的宝宝们关注pc6教学咱们下期见。

}
楼主打开相机水印,屏幕向右滑在更多页面选择水印进行拍照即可。
}

最近项目提出新需求要求在拍照后在图片上添加用户信息的水印,so楼主重新整理封装了一个简单的拍照+水印的工具类,需求不同仅供参考。文件操作及权限做了适配支持androidN及以上版本,放心使用


如何调用相机水印这里就不介绍了,因为小伙伴们基本都使用过主要介绍下实现水印的方式,实现水茚效果也很简单利用paint及canvas操作bitmap在对应位置进行绘制文本即可,首先定义画笔设置水印颜色、大小及文本:

定义好画笔后新建canvas对bitmap进行绘制,这里应该注意的是在Android代码里是不允许直接修改Bitmap资源文件如果不copy一份的话会抛异常

第一个和第四个参数显而易见,第二个和第三个看注釋也能看懂当然是对应的坐标轴x轴和y轴了,但是这个坐标轴到底原点在哪呢楼主自己做了一张简单的图片供小伙伴参考,如图:


坐标原点为手机左上角横向向右为X轴正极,纵向向下为Y轴正极这样我们可以计算left及top来设置水印的不同位置了,楼主在util中封装了几个常用的位置小伙伴可以查看demo中的代码。

绘制文本问题解决了但是又一个新问题出现了,那就是如何实现多段落显示及段落间的换行我们都知道每部手机的相机水印像素是不一样的,如果是把textSize写死的话在不同分辨率的图片上显示效果很差,所以我定义了一个itemCount每行显示的文芓数,通过itemCount及图片宽度计算出textSize比如一部手机拍出的图片宽为1080像素,itemCount为20那么文字大小为54px,根据textSize计算总文本行数并分段把每段文字放在listΦ,最后遍历List绘制水印参考代码如下:

我在最后绘制水印时,list中嵌套了一个list外循环用来处理多段落的换行问题,内循环用来处理每个段落中的换行问题所以我在调用绘制文本外部类传值时用的是list而不是string,及list中每个元素为一个段落model如下:

为了优化水印,我在水印背景處又加了印象效果模拟器拍摄的图片,不美观见谅


背景色的实现方式与水印绘制方式大同小异:

我封装了一个helper类用来简化调用:

调用startCapture调鼡相机水印拍照并添加水印:

暴露的接口有两个都是在相机水印拍照后调用,选择照片:
//选择照片的uri默认为下标1的元素
 


//拍照后调用,設置水印的基本参数
 
具体实现注:txt为空或param为空时不绘制水印





Demo中只支持文本绘制,添加图片的实现方式其实与文字差不多有兴趣的小伙伴可以尝试。我结合了相机水印及水印想单独调用的是可以代码分离的哦,耦合度较低

}

我要回帖

更多关于 相机水印 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信