AnyChat技术支持论坛

标题: 2017-05-27 增加在录像中添加图片水印、文字水印功能 [打印本页]

作者: 佰锐科技-梁国桦    时间: 2017-5-27 10:36
标题: 2017-05-27 增加在录像中添加图片水印、文字水印功能
本帖最后由 佰锐科技-梁国桦 于 2017-5-27 11:08 编辑

为了让产品更好地适应互联网金融的需求,AnyChat技术团队在最新更新的V6.4版本中增加了在录像中添加图片水印、文字水印功能。

实现方式:
在录像中,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示例代码如下:
  1. //图片水印对象
  2. var szJsonBuf4Img = {
  3.     alpha: 50,
  4.     posx: 8,
  5.     posy: 8,
  6.     overlayimgwidth: 0,
  7.     overlayimgheight: 0,
  8.     imagepath: "d:\\LOGOB.png"
  9. };

  10. // 文字水印对象
  11. var szJsonBuf4Txt = {
  12.     fontcolor: "0xffffff",
  13.     alpha: 100,
  14.     posx: 5,
  15.     posy: 5,
  16.     fontsize: 18,
  17.     text: "HelloAnyChat[timestamp]"
  18. };

  19. // 水印对象,可同时添加图片水印、文字水印,也可以只添加一种水印
  20. var jsonObj = {            
  21.     watermark: szJsonBuf4Img,
  22.     textoverlay: szJsonBuf4Txt
  23. };

  24. var flags = BRAC_RECORD_FLAGS_VIDEO + BRAC_RECORD_FLAGS_AUDIO + BRAC_RECORD_FLAGS_MIXAUDIO + BRAC_RECORD_FLAGS_MIXVIDEO + BRAC_RECORD_FLAGS_STEREO + BRAC_RECORD_FLAGS_LOCALCB;

  25. // 开始录制
  26. BRAC_StreamRecordCtrlEx(-1, 1, flags, 0, JSON.stringify(jsonObj));

  27. // 结束录制
  28. BRAC_StreamRecordCtrlEx(-1, 0, flags, 0, JSON.stringify(jsonObj));
复制代码

录制文件效果:

录像图片水印文字水印效果.png (273.28 KB, 下载次数: 2322)

录像图片水印文字水印效果.png





欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3