h5 海报生成器
在canvas中元素之间距离都是坐标系间的关系;假定每个元素都是block且position:absolute; 那么left、top、right、bottom这些位置字段跟css中的思路就很接近了;
相对复杂的属性比如投影、渐变参考的是canvas原生写法;详见 canvas 原生写法
字段名 |
类型 |
必填 |
描述 |
name |
String |
是 |
内容块名称 图片为name: "image" |
src |
String |
是 |
图片地址 |
left |
Number(单位:px) |
否 |
图片离画布左边距离 |
top |
Number(单位:px) |
否 |
图片离画布底部距离 |
topFollow |
Boolean |
否 |
默认false; 是否跟随上一个元素之后;true则top为当前模块与上一个模块顶部间距 |
right |
Number(单位:px) |
否 |
图片画布右边距离 left存在则right无效 |
bottom |
Number(单位:px) |
否 |
图片离画布底部距离 top存在 则bottom无效 |
width |
Number(单位:px) |
是 |
图片宽度 |
height |
Number(单位:px) |
是 |
图片高度 |
borderRadius |
Number(单位:px) |
否 |
圆角 如果圆角大于最小边的一半 则为圆形 |
borderWidth |
Number(单位:px) |
否 |
边框宽度 |
borderColor |
String |
否 |
边框颜色 |
shadowColor |
String |
否 |
投影颜色 |
shadowOffsetX |
Number |
否 |
X轴偏移 依赖shadowColor是否有值 |
shadowOffsetY |
Number |
否 |
Y轴偏移 依赖shadowColor是否有值 |
shadowBlur |
Number |
否 |
虚化程度 依赖shadowColor是否有值 |
opacity |
Number |
否 |
默认值1.0 |
字段名 |
类型 |
必填 |
描述 |
name |
String |
是 |
内容块名称 文本为name: "text" |
text |
String |
是 |
文本内容 |
left |
Number(单位:px) |
否 |
离画布左边距离 |
top |
Number(单位:px) |
否 |
离画布底部距离 |
topFollow |
Boolean |
否 |
默认false; 是否跟随上一个元素之后;true则top为当前模块与上一个模块顶部间距 |
right |
Number(单位:px) |
否 |
离画布右边距离 left存在则right无效 |
bottom |
Number(单位:px) |
否 |
离画布底部距离 top存在 则bottom无效 |
width |
Number(单位:px) |
否 |
文本内容宽度 超出宽度则换行 |
fontSize |
String / Number |
否 |
字体大小 默认20 |
fontColor |
String |
否 |
字体颜色 默认 #000 |
fontWeight |
String / Int |
否 |
文本的粗细 默认normal |
fontStyle |
String |
否 |
文本样式 默认normal |
fontFamily |
String |
否 |
字体 |
textAlign |
String |
否 |
对齐方式 默认left |
lineHeight |
Int |
否 |
字体行高 默认20 |
lineNum |
Int |
否 |
文本内容显示行数限制 |
borderWidth |
Number(单位:px) |
否 |
描边宽度 |
borderColor |
String |
否 |
描边颜色 |
shadowColor |
String |
否 |
投影颜色 |
shadowOffsetX |
Number |
否 |
X轴偏移 依赖shadowColor是否有值 |
shadowOffsetY |
Number |
否 |
Y轴偏移 依赖shadowColor是否有值 |
shadowBlur |
Number |
否 |
虚化程度 依赖shadowColor是否有值 |
linearGradient |
String |
否 |
线性渐变区间坐标(x0, y0, x1, y1) |
radialGradient |
String |
否 |
镜像渐变区间坐标(x0, y0, r0, x1, y1, r0) |
gradientStops |
Array |
否 |
渐变区间颜色值设定[[0, "#fff"],[200, "rgba(0, 0, 0, 0.5)"]] |
opacity |
Number |
否 |
默认值1.0 |
字段名 |
类型 |
必填 |
描述 |
name |
String |
是 |
内容块名称 图片为name: "block" |
left |
Number(单位:px) |
否 |
离画布左边距离 |
top |
Number(单位:px) |
否 |
离画布底部距离 |
topFollow |
Boolean |
否 |
默认false; 是否跟随上一个元素之后;true则top为当前模块与上一个模块顶部间距 |
right |
Number(单位:px) |
否 |
离画布右边距离 left存在则right无效 |
bottom |
Number(单位:px) |
否 |
离画布底部距离 top存在 则bottom无效 |
width |
Number(单位:px) |
否 |
宽度 |
height |
Number(单位:px) |
否 |
高度 |
borderRadius |
Number(单位:px) |
否 |
圆角 |
borderWidth |
Number(单位:px) |
否 |
边框宽度 |
borderColor |
String |
否 |
边框颜色 |
backgroundColor |
String |
否 |
背景色 |
backgroundImage |
String |
否 |
背景图片路径 |
backgroundRepeat |
String |
否 |
背景图片覆盖方式 默认no-repeat |
hollowWidth |
Int |
否 |
镂空尺寸 |
shadowColor |
String |
否 |
投影颜色 |
shadowOffsetX |
Number |
否 |
X轴偏移 依赖shadowColor是否有值 |
shadowOffsetY |
Number |
否 |
Y轴偏移 依赖shadowColor是否有值 |
shadowBlur |
Number |
否 |
虚化程度 依赖shadowColor是否有值 |
linearGradient |
String |
否 |
线性渐变区间坐标(x0, y0, x1, y1) |
radialGradient |
String |
否 |
镜像渐变区间坐标(x0, y0, r0, x1, y1, r0) |
gradientStops |
Array |
否 |
渐变区间颜色值设定[[0, "#fff"],[200, "rgba(0, 0, 0, 0.5)"]] |
opacity |
Number |
否 |
默认值1.0 |
字段名 |
类型 |
必填 |
描述 |
name |
String |
是 |
内容块名称 图片为name: "block" |
left |
Number(单位:px) |
否 |
离画布左边距离 |
top |
Number(单位:px) |
否 |
离画布底部距离 |
topFollow |
Boolean |
否 |
默认false; 是否跟随上一个元素之后;true则top为当前模块与上一个模块顶部间距 |
right |
Number(单位:px) |
否 |
离画布右边距离 left存在则right无效 |
bottom |
Number(单位:px) |
否 |
离画布底部距离 top存在 则bottom无效 |
radius |
Number(单位:px) |
是 |
半径 半径大小 |
borderWidth |
Number(单位:px) |
否 |
边框宽度 |
borderColor |
String |
否 |
边框颜色 |
backgroundColor |
String |
否 |
背景色 |
backgroundImage |
String |
否 |
背景图片路径 |
backgroundRepeat |
String |
否 |
背景图片覆盖方式 默认no-repeat |
shadowColor |
String |
否 |
投影颜色 |
shadowOffsetX |
Number |
否 |
X轴偏移 依赖shadowColor是否有值 |
shadowOffsetY |
Number |
否 |
Y轴偏移 依赖shadowColor是否有值 |
shadowBlur |
Number |
否 |
虚化程度 依赖shadowColor是否有值 |
linearGradient |
String |
否 |
线性渐变区间坐标(x0, y0, x1, y1) |
radialGradient |
String |
否 |
镜像渐变区间坐标(x0, y0, r0, x1, y1, r0) |
gradientStops |
Array |
否 |
渐变区间颜色值设定[[0, "#fff"],[200, "rgba(0, 0, 0, 0.5)"]] |
opacity |
Number |
否 |
默认值1.0 |
字段名 |
类型 |
必填 |
描述 |
name |
String |
是 |
内容块名称 图片为name: "block" |
left |
Number(单位:px) |
否 |
离画布左边距离 |
top |
Number(单位:px) |
否 |
离画布底部距离 |
topFollow |
Boolean |
否 |
默认false; 是否跟随上一个元素之后;true则top为当前模块与上一个模块顶部间距 |
right |
Number(单位:px) |
否 |
离画布右边距离 left存在则right无效 |
bottom |
Number(单位:px) |
否 |
离画布底部距离 top存在 则bottom无效 |
radius |
Number(单位:px) |
是 |
半径 半径大小 |
num |
Int |
是 |
边数 多边形边数 默认3 |
rotate |
Int |
否 |
旋转角度 |
borderWidth |
Number(单位:px) |
否 |
边框宽度 |
borderColor |
String |
否 |
边框颜色 |
backgroundColor |
String |
否 |
背景色 |
backgroundImage |
String |
否 |
背景图片路径 |
backgroundRepeat |
String |
否 |
背景图片覆盖方式 默认no-repeat |
shadowColor |
String |
否 |
投影颜色 |
shadowOffsetX |
Number |
否 |
X轴偏移 依赖shadowColor是否有值 |
shadowOffsetY |
Number |
否 |
Y轴偏移 依赖shadowColor是否有值 |
shadowBlur |
Number |
否 |
虚化程度 依赖shadowColor是否有值 |
linearGradient |
String |
否 |
线性渐变区间坐标(x0, y0, x1, y1) |
radialGradient |
String |
否 |
镜像渐变区间坐标(x0, y0, r0, x1, y1, r0) |
gradientStops |
Array |
否 |
渐变区间颜色值设定[[0, "#fff"],[200, "rgba(0, 0, 0, 0.5)"]] |
opacity |
Number |
否 |
默认值1.0 |