package main
import (
"fmt"
"/nfnt/resize"
"image"
"image/draw"
"image/jpeg"
"image/png"
"io/ioutil"
"log"
"math/rand"
"os"
"runtime"
"strconv"
"strings"
"time"
)
func main() {
(())
cmd("data/")
("OK!")
}
// Perform an operation
func cmd(path string) {
files, _ := (path)
for _, file := range files {
if () {
("Directory" + ())
cmd(path + () + "/")
} else {
if ((()), ".jpg") {
// Random name
to := path + random_name() + ".jpg"
origin := path + ()
("Processing" + origin + ">>>" + to)
cmd_resize(origin, 2048, 0, to)
defer (origin)
}
}
}
}
// Change the size
func cmd_resize(file string, width uint, height uint, to string) {
// Open the picture and decode it
file_origin, _ := (file)
origin, _ := (file_origin)
defer file_origin.Close()
canvas := (width, height, origin, resize.Lanczos3)
file_out, err := (to)
if err != nil {
(err)
}
defer file_out.Close()
(file_out, canvas, &{80})
// cmd_watermark(to, (to, ".jpg", "@", 1))
cmd_thumbnail(to, 480, 360, (to, ".jpg", "@", 1))
}
func cmd_thumbnail(file string, width uint, height uint, to string) {
// Open the picture and decode it
file_origin, _ := (file)
origin, _ := (file_origin)
defer file_origin.Close()
canvas := (width, height, origin, resize.Lanczos3)
file_out, err := (to)
if err != nil {
(err)
}
defer file_out.Close()
(file_out, canvas, &{80})
}
// Watermark
func cmd_watermark(file string, to string) {
// Open the picture and decode it
file_origin, _ := (file)
origin, _ := (file_origin)
defer file_origin.Close()
// Open the watermark image and decode it
file_watermark, _ := ("")
watermark, _ := (file_watermark)
defer file_watermark.Close()
//Original graph boundaries
origin_size := ()
//Create a new layer
canvas := (origin_size)
// Post original picture
(canvas, origin_size, origin, , )
// Watermark image
(canvas, ().Add((30, 30)), watermark, , )
//Generate new pictures
create_image, _ := (to)
(create_image, canvas, &{95})
defer create_image.Close()
}
// Randomly generate file names
func random_name() string {
(().UnixNano())
return (())
}