Golang image.Decode function example

package image

 func Decode(r io.Reader) (Image, string, error)
  

Decode decodes an image that has been encoded in a registered format. The string returned is the format name used during format registration. Format registration is typically done by an init function in the codec- specific package.

Golang image.Decode function usage example

 package main

 import (
 "fmt"
 "image"
 "image/png"
 "io/ioutil"
 "os"
 "bytes"
 )

 func init() {
 image.RegisterFormat("png", "png", png.Decode, png.DecodeConfig)
 }

 func main() {
 imgBuffer, err := ioutil.ReadFile("./img.png")

 if err != nil {
 fmt.Println("img.png file not found!")
 os.Exit(1)
 }

 reader := bytes.NewReader(imgBuffer)

 img, formatname, err := image.Decode(reader) // <--- here

 if err != nil {
 fmt.Println(err)
 os.Exit(1)
 }

 //test

 fmt.Println("Format : ", formatname)

 fmt.Println("Bounds : ", img.Bounds())

 fmt.Println("At : ", img.At(10,100))

 fmt.Println("ColorModel : ", img.ColorModel())

 }

Sample output (depending on image file ) :

Format : png

Bounds : (0,0)-(600,849)

At : {255 255 255 255}

ColorModel : &{0x82270}

Reference :

http://golang.org/pkg/image/#Decode

Advertisement