Skip to content

Commit

Permalink
Image scaling test
Browse files Browse the repository at this point in the history
  • Loading branch information
aclements committed Jun 26, 2015
1 parent 4bca35d commit 39cb767
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
Binary file added srgb/gamma_colors.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 50 additions & 0 deletions srgb/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package main

import (
"flag"
"fmt"
"image"
"image/png"
"log"
"os"

"golang.org/x/image/draw"
)

func main() {
var err error

flag.Usage = func() {
fmt.Fprintf(os.Stderr, "Usage: %s input output\n", os.Args[0])
}
flag.Parse()
if flag.NArg() != 2 {
flag.Usage()
os.Exit(2)
}

// Read input file.
f, err := os.Open(os.Args[1])
if err != nil {
log.Fatal(err)
}
defer f.Close()
src, _, err := image.Decode(f)
if err != nil {
log.Fatal(err)
}

// Scale down by a factor of 2.
sb := src.Bounds()
dst := image.NewRGBA(image.Rect(0, 0, sb.Dx()/2, sb.Dy()/2))
draw.BiLinear.Scale(dst, dst.Bounds(), src, sb, draw.Over, nil)

// Write output file.
if f, err = os.Create(os.Args[2]); err != nil {
log.Fatal(err)
}
defer f.Close()
if err := png.Encode(f, dst); err != nil {
log.Fatal(err)
}
}

0 comments on commit 39cb767

Please sign in to comment.