本帖最后由 佰锐科技-刘冬明 于 2018-4-4 09:03 编辑
为了让产品更好地适应互联网金融的需求,AnyChat技术团队在最新更新的V7.0版本中增加了在拍照中添加图片水印、文字水印功能。
实现方式: 拍照使用StreamRecordCtrlEx接口,在调用中,lpUserStr参数为Json字符串,使用“watermark”为关键字传入一个Json对象,用来定义图片水印;使用“textoverlay”为关键字传入一个Json对象,用来定义文字水印。
图片水印Json对象的关键字定义: "alpha":图片透明度,默认为100,可不传(不传时,将应用默认值); "posx":图片水印在x轴方向上的起始位置(百分比,范围0~100); "posy":图片水印在y轴方向上的起始位置(百分比,范围0~100); "overlayimgwidth":图片的宽度,可传0,表示应用图片的原始宽度,传其他值时建议按高宽度比例来设置; "overlayimgheight":图片的高度,可传0,表示应用图片的原始高度,传其他值时建议按高宽度比例来设置; "imagepath":图片的路径,传入图片的本地路径(绝对路径);
文字水印Json对象的关键字定义: "fontcolor":文字颜色,文字默认为白色(0xffffff,颜色值采用十六进制rgb格式),可不传(不传时,将应用默认值);
"alpha":文字的透明度,默认为100,可不传(不传时,将应用默认值);
"posx":文字水印在x轴方向上的起始位置(百分比,范围0~100); "posy":文字水印在y轴方向上的起始位置(百分比,范围0~100); "fontsize":文字大小,默认为23号大小,可不传(不传时,将应用默认值);
"text":文字内容,若加上[timestamp],则表示增加时间戳;
示例代码:
以本地拍照为例,JavaScript示例代码如下: - //图片水印对象
- var szJsonBuf4Img = {
- alpha: 50,
- posx: 8,
- posy: 8,
- overlayimgwidth: 0,
- overlayimgheight: 0,
- imagepath: "d:\\bairui.png"
- };
- // 文字水印对象
- var szJsonBuf4Txt = {
- fontcolor: "0xffffff",
- alpha: 100,
- posx: 5,
- posy: 5,
- fontsize: 18,
- text: "HelloAnyChat[timestamp]"
- };
-
- // 水印对象,可同时添加图片水印、文字水印,也可以只添加一种水印
- var jsonObj = {
- watermark: szJsonBuf4Img,
- textoverlay: szJsonBuf4Txt
- };
- var flags=BRAC_RECORD_FLAGS_SNAPSHOT+BRAC_RECORD_FLAGS_LOCALCB;
- //拍照
- BRAC_StreamRecordCtrlEx(-1, 1, flags, 0, JSON.stringify(jsonObj));
复制代码
|