描述
通用水印配置方法。
- 用于替换 SetWaterMarkImage()、SetWaterMarkText()、SetWaterMarkPadding()旧接口
接口
bool SetWaterMarkConfig(const char* id, const char *json_cfg)
参数
参数名 |
必填 |
类型 |
说明 |
备注 |
id |
是 |
string |
水印ID |
|
json_cfg |
是 |
json |
配置项 |
桌面版为json_str web版为json_obj |
json_cfg参数
1、移除水印
参数名 |
必填 |
类型 |
说明 |
备注 |
delete |
是 |
bool |
移除水印 |
0:不做处理 1:移除指定id的水印。当id=””时,表示移除所有水印 |
2、添加或重置水印
通用配置
参数名 |
必填 |
类型 |
说明 |
备注 |
waterMarkType |
是 |
enum |
水印类型 |
详见E_WATER_MARK_TYPE |
topPadding |
否 |
float |
上偏移 |
单位:cm,默认0.0cm。水印Y起始坐标 |
bottomPadding |
否 |
float |
下偏移 |
单位:cm,默认0.0cm |
leftPadding |
否 |
float |
左偏移 |
单位:cm,默认0.0cm。水印X起始坐标 |
rightPadding |
否 |
float |
右偏移 |
单位:cm,默认0.0cm |
layer |
否 |
enum |
水印层 |
0: 默认,下层; 1: 上层。同层水印可通过加入顺序进行层级控制。E_ATTACH_LAYER |
forbidPrint |
否 |
bool |
禁止打印 |
0:不禁止 1:禁止 |
repeat |
否 |
bool |
页内自动重复 |
图片小于页面区域时,自动重复显示。注意:fillMode=1填满模式时,repeat项不生效 |
effectPage |
否 |
int |
影响页模式 |
0:默认,所有页; >=1: 指定页码; -1:最后一页; |
图片水印参数
参数名 |
必填 |
类型 |
说明 |
备注 |
imageName |
是 |
string |
图像名称 |
可以为空,存在image_name字段说明是在配置图片水印 |
md5 |
是 |
string |
图像数据MD5值 |
需预先设置图像资源:SetImageResource SetImageResourceBase64 |
alpha |
否 |
int |
透明度 |
0~255 =255时表示不使用透明度功能 |
colorKey |
否 |
string |
抠除背景色 |
[过时,印章可直接使用透明背景色的图片]A字段为0,表示不使能抠除背景色;A字段为255,表示使能抠除背景色,并使用RGB字段指定背景色;主要用于实现印章效果 |
angle |
否 |
float |
旋转角度 |
0~360 |
fillMode |
否 |
int |
填充模式 |
0:平铺 1:填满 |
width |
否 |
float |
指定宽度 |
单位:cm 平铺模式下有效,如没有指定,则使用图片原始大小,不能小于1cm |
height |
否 |
float |
指定高度 |
单位:cm 平铺模式下有效,如没有指定,则使用图片原始大小,不能小于1cm |
示例代码
var url = "/system/test/waterMark.jpg";
let response = await fetch(url, {credentials:'same-origin'});
let img_data = await response.arrayBuffer();
var img_name = "waterMark.jpg";
var img_md5 = ThinkEditor.SetImageResource(img_name, img_data, img_data.byteLength);
console.log(img_md5);
let json_cfg={};
json_cfg.imageName = img_name;
json_cfg.md5 = img_md5;
json_cfg.alpha = 50;
json_cfg.forbidPrint = 0;
json_cfg.repeat = 0;
json_cfg.fillMode = 1;
json_cfg.topPadding = 0;
json_cfg.bottomPadding = 0;
json_cfg.leftPadding = 0;
json_cfg.rightPadding = 0;
var attach_id = "waterMarkImg";
ThinkEditor.SetWaterMarkConfig(attach_id, json_cfg);
文字水印参数
参数名 |
必填 |
类型 |
说明 |
备注 |
fontName |
是 |
string |
字体名称 |
存在font_name字段说明是在配置文字水印 |
size |
是 |
float |
字体大小 |
单位:cm |
fragment |
是 |
string或fragment |
水印内容 |
|
color |
是 |
string |
字体颜色 |
RGB 示例红色:”ff0000” |
angle |
是 |
float |
旋转角度 |
|
italic |
是 |
bool |
倾斜 |
0:不倾斜 1:倾斜 |
bold |
是 |
bool |
加粗 |
0:不加粗 1:加粗 |
示例代码
var attach_id = "waterMarkTest";
let json_cfg={};
json_cfg.fontName = "宋体";
json_cfg.size = 1.0;
json_cfg.fragment = "文字水印测试";
json_cfg.color = "c0c0c0";
json_cfg.angle = 315;
json_cfg.forbidPrint = 0;
json_cfg.repeat = 1;
json_cfg.fillMode = 0;
json_cfg.topPadding = 2.8;
json_cfg.bottomPadding = 2.8;
json_cfg.leftPadding = 2.8;
json_cfg.right_Padding = 2.8;
ThinkEditor.SetWaterMarkConfig(attach_id, json_cfg);
返回值
类型 |
说明 |
备注 |
bool |
是否成功 |
0:失败 1:成功 |
文档更新时间: 2025-03-15 19:11 作者:admin