func (this *ProcChainBuilder) getLogoWaterMarkProcessor(channel string, params map[string]string) (proc.ImageProcessor, error) { dissolve := this.getLogoDissolve(channel, params) logodir, err := data.GetLogodir(channel) if err != nil { return nil, err } wn, _ := params["wn"] wl, _ := params["wl"] if wn == "" { defaultlogo, err := data.GetDefaultLogo(channel) if err != nil { return nil, err } arr := strings.Split(defaultlogo, ",") if len(arr) == 2 { wn = arr[0] wl = arr[1] } } if wn == "" { return nil, nil } //check watermarkname logonames, err := data.GetLogoNames(channel) if err != nil { return nil, err } if !strings.Contains(logonames, JoinString(",", wn, ",")) { return nil, errors.New(JoinString("channel: ", channel, ", reason: not support watermark ", wn)) } //check size lesswidth, err := data.GetImagelesswidthForLogo(channel) if err != nil { return nil, err } lessheight, err := data.GetImagelessheightForLogo(channel) if err != nil { return nil, err } if lesswidth > 0 || lessheight > 0 { widthVal, _ := params[":3"] heightVal, _ := params[":4"] w, _ := strconv.ParseInt(widthVal, 10, 64) h, _ := strconv.ParseInt(heightVal, 10, 64) if !(w >= lesswidth && h >= lessheight) { return nil, nil } } l, err := strconv.Atoi(wl) if err != nil { l = 9 } var path = logodir + wn + ".png" bts, err := GetImage("NFS", path, this.Cat) if err != nil { return nil, err } logo := &img4g.Image{Format: "png", Blob: bts, Cat: this.Cat} return &proc.WaterMarkProcessor{Logo: logo, Location: l, Dissolve: dissolve, Cat: this.Cat, WaterMarkType: "WaterMark"}, nil }
func (this *ProcChainBuilder) getDigitalWatermarkProcessor(channel string, params map[string]string) (proc.ImageProcessor, error) { dwm, _ := params["dwm"] if dwm == "" { return nil, nil } copyrightdir, err := data.GetLogodir(channel) if err != nil { return nil, err } bts, err := GetImage("NFS", copyrightdir+"copy.jpg", this.Cat) if err != nil { return nil, err } copyright := &img4g.Image{Format: "jpg", Blob: bts, Cat: this.Cat} return &proc.DigitalWatermarkProcessor{copyright, this.Cat}, nil }