Skip to content

Instantly share code, notes, and snippets.

@yoya
Created July 27, 2015 09:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save yoya/6aa1658155a337c8bf95 to your computer and use it in GitHub Desktop.
Save yoya/6aa1658155a337c8bf95 to your computer and use it in GitHub Desktop.
golang png image composition
ackage main
// http://blog.golang.org/go-image-package
// http://d.hatena.ne.jp/taknb2nch/20131231/1388500659
import (
"flag"
"fmt"
"image"
"image/draw"
"image/png"
"os"
)
func main() {
flag.Parse()
basename := flag.Arg(0)
overlapname := flag.Arg(1)
ifd_base, err := os.Open(basename)
if err != nil {
fmt.Fprintln(os.Stderr, "not found:"+basename)
os.Exit(1)
}
ifd_overlap, err := os.Open(overlapname)
if err != nil {
fmt.Fprintln(os.Stderr, "not found:"+overlapname)
os.Exit(1)
}
image_base, _ := png.Decode(ifd_base)
image_overlap, _ := png.Decode(ifd_overlap)
//
rect := image_base.Bounds()
point := image.Point{0, 0}
image_rgba := image_base.(*image.RGBA)
draw.Draw(image_rgba, rect, image_overlap, point, 0)
png.Encode(os.Stdout, image_rgba)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment