新建 GFX

1.接口描述

接口说明:新建 GFX。

请求方式:

  • 固件版本 V2.6.0 及以上:POST [ip]/mwapi/V2.0/gfx/create-gfx
  • 固件版本 V2.5.0 及以下:POST [ip]/mwapi/create-osd
管理员权限 登录认证

2.输入参数

参数名称 必选 类型 描述
fileName String 文件名称
md5 String 文件MD5值
sourceType Int 资源类型
10:GFX 资源
x Int 内容窗口X轴位置,相对值 (0~1)*1000,000
y Int 内容窗口Y轴位置,相对值 (0~1)*1000,000
scaleX Int X轴缩放比例, 相对值 (0~1)*1000,000
scaleY Int Y轴缩放比例, 相对值 (0~1)*1000,000
width Int 内容窗口宽度,相对值 (0~1)*1000,000
height Int 内容窗口高度,相对值 (0~1)*1000,000
alpha Int 不透明度,相对值 (0~1)*1000,000
secondaryType Int GFX类型
4:图片;5:文字
text String 文本内容,文字 GFX 时,必要参数
fontFamily Int 字体,文字 GFX 时,必要参数
textColor Int 文本颜色,文字 GFX 时,必要参数
strokeColor Int 文字描边颜色,文字 GFX 时,必要参数
strokeWidth Int 文字描边线宽,文字 GFX 时,必要参数
fontSize Int 字体大小,文字 GFX 时,必要参数
glyph Int 文本形状,文字 GFX 时,必要参数
二进制标记,1:启用;0:不启用
斜体:第1位(0x1LL << 1)
下划线:第2位(0x1LL << 2)
粗体:第3位(0x1LL << 3)
textAlignment Int 文本对齐方式,文字 GFX 时,必要参数
0:左对齐;1:居中对齐;2:右对齐
fixed Int 是否为 GFX 模版图层
0:否;1:是

3.输出参数

参数名称 类型 描述
status Int 状态码
message String 状态描述
info InfoData GFX 信息
InfoData
参数名称 类型 描述
audioList AudioListData 图层音频配置信息
bglayer LayerData 图层信息
dividerLine DividerLineData 分割线属性
id Int GFX ID
layerList LayerData 图层数组
name String 画面名称
sceneGfxInfo Int 画面叠加的 GFX 信息,下级参数sceneGfxId 为叠加到画面的 GFX 的 ID
template Int 画面组合模式
0:画中画; 1:分屏画面; 2:单图层画面
type Int 画面类型
4:笔记; 其它数字:画面
AudioListData
参数名称 类型 描述
layerId Int 图层ID,图层在图层数组中的位置
muted Int 是否为静音状态
0:否; 1:是
type Int 音频类型,
0x0100:HDMI 1;
0x0200:视频;
0x0300:HDMI 2;
0x0400:USB Camera;
0x0500:图片;
0x0700:网页
volume Int 音量,0~1000000
LayerData
参数名称 类型 描述
alpha Int 图层的不透明度
cropWindow WindowData 裁剪窗口属性
fixed Int 预留参数
flip Int 翻转属性
0:不翻转
1:左右翻转
2:上下翻转
3:左右翻转+上下翻转
frame FrameData 边框属性
givenBg Int 是否为用户上传的的笔记背景图
1:是; 0:否
mediaProgress Int 源播放进度,仅针对VIDEO类型
pdfPosition Int PDF位置信息,(页码-1)*100
pdfScaleMode Int PDF缩放模式
0:自由
1:维持页面原比例
2:内容适合屏幕
3:宽度适合屏幕
pdfScaleValue Int PDF缩放属性,1~5*10000
rotation Int 旋转角度,逆时针方向,范围[0~360]
scaleX Int X轴缩放比例, 0~1000000
scaleY Int Y轴缩放比例, 0~1000000
sourceColor Int 纯色图层的色值,uint32(gbra)
sourceDuration Int 源视频长度
sourceHeight Int 源画面高度
sourceId Int 资源ID,资源在设备中的唯一身份标识。
sourceThumbHeight Int 源缩图高度
sourceThumbWidth Int 源缩图宽度
sourceTotalPageNumber Int PDF文件页数
sourceType Int 源类型
1:图片; 2:视频; 3:HDMI 1;4:HDMI 2;
5:USB-Camera; 6:音频; 7:背景图片
sourceWidth Int 源画面宽度
srcWindow WindowData 内容窗口属性
url 网页地址
videoPolicy Int 视频结束策略
0:显示最后一帧 1:重复播放
2:切换到画面X
3:显示第一帧
4:显示黑屏
5:隐藏图层
videoPolicyIn Int 视频开始策略
0:自动播放;1:手动播放
videoPolicyNextScene Int 视频结束策略为切换到画面X时,指向的跳转画面ID
videoPolicyOut Int 视频播放结束之前切出画面又切回,视频将如何继续
0:保持离开时的进度
1:从头播放
videoRangeEnd Int 视频切割起点位置,ms
videoRangeStart Int 视频切割终点位置,ms
webScaleValue Int 网页缩放属性,1~5*10000
window WindowData 窗口属性
WindowData
参数名称 类型 描述
x Int X 轴位置,相对值 (0~1)*1000,000
y Int Y 轴位置,相对值 (0~1)*1000,000
width Int 窗口宽度
height Int 窗口高度
type Int 裁剪类型
0:自由比例
1:原始比例
2:4比3
3:16比9
4:1比1
FrameData
参数名称 类型 描述
color Int 边框颜色,uint32(gbra)
width Int 边框宽度,px
DividerLineData
参数名称 类型 描述
color Int 分割线颜色,uint32(gbra)
x1 Int 分割线顶点X轴位置,相对值 (0~1)*1000,000
y1 Int 分割线顶点Y轴位置,相对值 (0~1)*1000,000
x2 Int 分割线结束点X轴位置,相对值 (0~1)*1000,000
y2 Int 分割线结束点Y轴位置,相对值 (0~1)*1000,000

4.示例

新增一个图片和文字组合的GFX。

输入示例
{
    "layerList":[
        {
            "fileName":"image.png",
            "md5":"01b0f9f65ac74dafa1efd6804e69d743",
            "sourceType":10,
            "x":70313,
            "y":186111,
            "scaleX":1030000,
            "scaleY":1030000,
            "width":303646,
            "height":795370,
            "alpha":1000000,
            "secondaryType":4,
            "text":"",
            "fontFamily":"sans-serif",
            "textColor":0,
            "strokeColor":0,
            "strokeWidth":0,
            "fontSize":14,
            "glyph":0,
            "textAlignment":0,
            "fixed":0
        },
        {
            "fileName":"20230113095607876",
            "md5":"3f050a3c836cd50f16cbfbcd50d12551",
            "sourceType":10,
            "x":371875,
            "y":856481,
            "scaleX":1000000,
            "scaleY":1000000,
            "width":269271,
            "height":77778,
            "alpha":1000000,
            "secondaryType":5,
            "text":"Input text here",
            "fontFamily":"sans-serif",
            "textColor":0,
            "strokeColor":0,
            "strokeWidth":0,
            "fontSize":26,
            "glyph":14,
            "textAlignment":0,
            "fixed":0
        }
    ]
}
输出示例
{
    "info":{
        "audioList":[

        ],
        "bgLayer":{
            "alpha":1000000,
            "cropWindow":{
                "height":1000000,
                "type":0,
                "width":1000000,
                "x":0,
                "y":0
            },
            "fixed":0,
            "flip":0,
            "frame":{
                "color":0,
                "width":0
            },
            "givenBg":0,
            "mediaProgress":0,
            "pdfPosition":0,
            "pdfScaleMode":3,
            "pdfScaleValue":10000,
            "rotation":0,
            "scaleX":1000000,
            "scaleY":1000000,
            "sourceColor":255,
            "sourceDuration":0,
            "sourceHeight":0,
            "sourceId":0,
            "sourceThumbHeight":0,
            "sourceThumbWidth":0,
            "sourceTotalPageNumber":0,
            "sourceType":12,
            "sourceWidth":0,
            "srcWindow":{
                "height":1000000,
                "width":1000000,
                "x":0,
                "y":0
            },
            "videoPolicy":0,
            "videoPolicyIn":0,
            "videoPolicyNextScene":0,
            "videoPolicyOut":0,
            "videoRangeEnd":0,
            "videoRangeStart":0,
            "webScaleValue":10000,
            "window":{
                "height":1000000,
                "width":1000000,
                "x":0,
                "y":0
            }
        },
        "dividerLine":{
            "color":0,
            "width":0,
            "x1":500000,
            "x2":500000,
            "y1":0,
            "y2":1000000
        },
        "id":108,
        "layerList":[
            {
                "alpha":1000000,
                "cropWindow":{
                    "height":1000000,
                    "type":1,
                    "width":1000000,
                    "x":0,
                    "y":0
                },
                "fixed":0,
                "flip":0,
                "frame":{
                    "color":16777215,
                    "width":0
                },
                "givenBg":0,
                "mediaProgress":0,
                "pdfPosition":0,
                "pdfScaleMode":3,
                "pdfScaleValue":10000,
                "rotation":360,
                "scaleX":1030000,
                "scaleY":1030000,
                "sourceColor":255,
                "sourceDuration":0,
                "sourceHeight":292,
                "sourceId":2029,
                "sourceThumbHeight":377,
                "sourceThumbWidth":256,
                "sourceTotalPageNumber":0,
                "sourceType":10,
                "sourceWidth":198,
                "srcWindow":{
                    "height":1000000,
                    "width":1000000,
                    "x":0,
                    "y":0
                },
                "videoPolicy":0,
                "videoPolicyIn":0,
                "videoPolicyNextScene":0,
                "videoPolicyOut":0,
                "videoRangeEnd":0,
                "videoRangeStart":0,
                "webScaleValue":10000,
                "window":{
                    "height":795370,
                    "width":303646,
                    "x":348438,
                    "y":100926
                }
            },
            {
                "alpha":1000000,
                "cropWindow":{
                    "height":1000000,
                    "type":1,
                    "width":1000000,
                    "x":0,
                    "y":0
                },
                "fixed":0,
                "flip":0,
                "frame":{
                    "color":16777215,
                    "width":0
                },
                "givenBg":0,
                "mediaProgress":0,
                "pdfPosition":0,
                "pdfScaleMode":3,
                "pdfScaleValue":10000,
                "rotation":360,
                "scaleX":1000000,
                "scaleY":1000000,
                "sourceColor":255,
                "sourceDuration":0,
                "sourceHeight":85,
                "sourceId":2033,
                "sourceThumbHeight":46,
                "sourceThumbWidth":256,
                "sourceTotalPageNumber":0,
                "sourceType":10,
                "sourceWidth":472,
                "srcWindow":{
                    "height":1000000,
                    "width":1000000,
                    "x":0,
                    "y":0
                },
                "videoPolicy":0,
                "videoPolicyIn":0,
                "videoPolicyNextScene":0,
                "videoPolicyOut":0,
                "videoRangeEnd":0,
                "videoRangeStart":0,
                "webScaleValue":10000,
                "window":{
                    "height":77778,
                    "width":232292,
                    "x":630729,
                    "y":811111
                }
            }
        ],
        "name":"",
        "template":2,
        "type":5
    },
    "message":"success",
    "status":0
}

5.错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 定义 说明
7 MW_STATUS_INVALID_ARG 参数缺失
39 MW_STATUS_MISMATCH 资源不存在

与“”相关结果约

    找不到与“”相关的结果