package colorlight type Region struct { Layer string `json:"Layer"` Rect Rect `json:"Rect"` Items []interface{} `json:"Items"` } func (o *Region) SetData(layer string, rect *Rect) { o.Layer = layer o.Rect = *rect } func (o *Region) AddItemSingleLineText( Text, //文本内容 TextColor, //文本显示颜色 LfHeight, LfItalic, LfUnderline, LfFaceName, //文本显示字体 IsScroll string, //文本是否滚动 ) { item := ItemSingleLineText{ Type: "4", TextColor: TextColor, LogFont: LogFont{ LfHeight: LfHeight, LfWeight: "0", LfItalic: LfItalic, LfUnderline: LfUnderline, LfStrikeOut: "", LfFaceName: LfFaceName, }, Text: Text, IsScroll: IsScroll, Speed: "60", IsScrollByTime: "0", IsHeadConnectTail: "0", RepeatCount: "1", PlayLenth: "", } o.Items = append(o.Items, item) } func (o *Region) AddItemMultiLineText( Text, //文本内容 TextColor, //文本显示颜色 LfHeight, LfItalic, LfUnderline, LfFaceName, //文本显示字体 CenteralAlign, VerticalAlign, //对齐方式 IsScroll string, //文本是否滚动 ) { item := ItemMultiLineText{ Type: "5", TextColor: TextColor, LogFont: LogFont{ LfHeight: LfHeight, LfWeight: "0", LfItalic: LfItalic, LfUnderline: LfUnderline, LfStrikeOut: "", LfFaceName: LfFaceName, }, CenteralAlign: CenteralAlign, VerticalAlign: VerticalAlign, Text: Text, IsScroll: IsScroll, Speed: "60", IsScrollByTime: "0", RepeatCount: "1", PlayLenth: "0", } o.Items = append(o.Items, item) } func (o *Region) AddItemPicture(filepath, duration, inEffectType string) { item := ItemPicture{ Type: "2", FileSource: FileSource{ FilePath: filepath, IsRelative: "1", }, Duration: duration, InEffect: InEffect{ Type: inEffectType, Time: "1000", }, ReserveAS: "1", } o.Items = append(o.Items, item) } func (o *Region) AddItemVideo(filepath, Volume, duration string) { item := ItemVideo{ Type: "3", Volume: Volume, Duration: duration, FileSource: FileSource{ FilePath: filepath, IsRelative: "1", }, ReserveAS: "1", } o.Items = append(o.Items, item) } func (o *Region) AddItemWebPage(url string, rect *Rect) { if rect == nil { rect = &o.Rect } item := ItemWebPage{ Type: "27", Url: url, Rect: *rect, } o.Items = append(o.Items, item) }