aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristine Dodrill <xena@yolo-swag.com>2016-02-02 18:20:23 -0800
committerChristine Dodrill <xena@yolo-swag.com>2016-02-02 18:20:23 -0800
commitf0723a56574cf85267ddc0902654a8a711ab32be (patch)
treedb93b421c3ae22798fece98ad0d9fa154fcba45e
parent86a81b59d9bdc8908e24ca24e2a5192e37066df5 (diff)
downloadx-f0723a56574cf85267ddc0902654a8a711ab32be.tar.xz
x-f0723a56574cf85267ddc0902654a8a711ab32be.zip
Add thumber
-rw-r--r--thumber/in/XjScp8a.pngbin0 -> 292689 bytes
-rw-r--r--thumber/in/lB4ICS3.pngbin0 -> 369886 bytes
-rw-r--r--thumber/in/oaw79y9.jpgbin0 -> 67119 bytes
-rw-r--r--thumber/main.go52
4 files changed, 52 insertions, 0 deletions
diff --git a/thumber/in/XjScp8a.png b/thumber/in/XjScp8a.png
new file mode 100644
index 0000000..a9ec6df
--- /dev/null
+++ b/thumber/in/XjScp8a.png
Binary files differ
diff --git a/thumber/in/lB4ICS3.png b/thumber/in/lB4ICS3.png
new file mode 100644
index 0000000..850bf28
--- /dev/null
+++ b/thumber/in/lB4ICS3.png
Binary files differ
diff --git a/thumber/in/oaw79y9.jpg b/thumber/in/oaw79y9.jpg
new file mode 100644
index 0000000..2ab4cb9
--- /dev/null
+++ b/thumber/in/oaw79y9.jpg
Binary files differ
diff --git a/thumber/main.go b/thumber/main.go
new file mode 100644
index 0000000..77bbed3
--- /dev/null
+++ b/thumber/main.go
@@ -0,0 +1,52 @@
+package main
+
+import (
+ "flag"
+ "log"
+ "os"
+ "path/filepath"
+ "strings"
+
+ "github.com/disintegration/imaging"
+)
+
+var (
+ dirToWalk = flag.String("walkdir", "./in", "directory to walk and generate thumbnails for")
+)
+
+func main() {
+ flag.Parse()
+
+ err := filepath.Walk(*dirToWalk, makeThumbnail)
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+func makeThumbnail(fname string, info os.FileInfo, err error) error {
+ if info.IsDir() {
+ return nil
+ }
+
+ if strings.HasSuffix(fname, ".thumb.png") {
+ return nil
+ }
+
+ _, err = os.Stat("thumbs/" + filepath.Base(fname) + ".thumb.png")
+ if err == nil {
+ log.Printf("skipping %s", fname)
+ return nil
+ }
+
+ log.Printf("Starting to open %s", fname)
+
+ img, err := imaging.Open(fname)
+ if err != nil {
+ return err
+ }
+
+ croppedImage := imaging.Thumbnail(img, 256, 256, imaging.Lanczos)
+ err = imaging.Save(croppedImage, "thumbs/"+filepath.Base(fname)+".thumb.png")
+
+ return err
+}