func SquareThumb(filename, name string, size int, format thumbType.ThumbType) (string, error) { outfile := fmt.Sprintf("%s_%s", filename, name) args := []string{ fmt.Sprintf("%s[0]", filename), "-quality", "94", "-resize", fmt.Sprintf("%dx%d^", size, size), "-gravity", "center", "-crop", fmt.Sprintf("%dx%d+0+0", size, size), "-density", "72x72", "-unsharp", "0.5", fmt.Sprintf("%s:%s", format.ToString(), outfile), } err := runProcessorCommand(GM_COMMAND, args) if err != nil { return "", err } return outfile, nil }
func CustomThumb(filename, name string, width, height int, cropGravity string, cropWidth, cropHeight, quality int, format thumbType.ThumbType) (string, error) { outfile := fmt.Sprintf("%s_%s", filename, name) args := []string{ fmt.Sprintf("%s[0]", filename), "-quality", fmt.Sprintf("%d", quality), "-resize", fmt.Sprintf("%dx%d^", width, height), "-density", "72x72", "-unsharp", "0.5", } if cropGravity != "" { args = append(args, "-gravity", fmt.Sprintf("%s", cropGravity), "-crop", fmt.Sprintf("%dx%d+0+0", cropWidth, cropHeight), ) } args = append(args, fmt.Sprintf("%s:%s", format.ToString(), outfile)) err := runProcessorCommand(GM_COMMAND, args) if err != nil { return "", err } return outfile, nil }
func CircleThumb(filename, name string, width int, format thumbType.ThumbType) (string, error) { outfile := fmt.Sprintf("%s_%s", filename, name) filename, err := Thumb(filename, name, width*2, width*2, format) if err != nil { return "", err } args := []string{ "-size", fmt.Sprintf("%dx%d", width, width), "xc:none", "-fill", filename, "-quality", "83", "-density", "72x72", "-draw", fmt.Sprintf("circle %d,%d %d,1", width/2, width/2, width/2), fmt.Sprintf("%s:%s", format.ToString(), outfile), } err = runProcessorCommand(GM_COMMAND, args) if err != nil { return "", err } return outfile, nil }
func Thumb(filename, name string, width, height int, format thumbType.ThumbType) (string, error) { outfile := fmt.Sprintf("%s_%s", filename, name) args := []string{ fmt.Sprintf("%s[0]", filename), "-quality", "83", "-resize", fmt.Sprintf("%dx%d>", width, height), "-density", "72x72", fmt.Sprintf("%s:%s", format.ToString(), outfile), } err := runProcessorCommand(GM_COMMAND, args) if err != nil { return "", err } return outfile, nil }