Golang Image Width, Height From FileUse the image package to get the width and height of an image file, calling the DecodeConfig method.
Image. Suppose you have an image file (a PNG or JPG) and wish to get its width and height in a Golang program. This can be done with the "image" package.
Some details. With images, we can get the Width and Height from the image file just by parsing the file. We simply call DecodeConfig on a JPG or PNG.
An example. To begin, we must import the "image" module. If we import the "image/jpeg" and "image/png" modules as well, we get full support for those types.
Open We call os.Open on the image file, and then bufio.NewReader to get a Reader for the file.
DecodeConfig This function receives the Reader we just created by calling bufio.Reader. It returns a Config instance.
Config This will contain some useful details about the image, like Width and Height. The image format is also available.
Golang program that uses image.DecodeConfig
package main import ( "fmt" "os" "bufio" "image" _ "image/jpeg" _ "image/png" ) func main() { path := `C:\programs\zip-chart.png` // Open file. inputFile, _ := os.Open(path) reader := bufio.NewReader(inputFile) // Decode image. config, _, _ := image.DecodeConfig(reader) // Print config. fmt.Printf("IMAGE: width=%v height=%v\n", config.Width, config.Height) }
IMAGE: width=300 height=151
Note, imports. If you try to open a JPEG or PNG file without the special import statement for that type, it will not work correctly.
Tip If your program only uses JPEGs, you could remove the PNG import. This probably is not worth doing.
Example imports:
_ "image/jpeg" _ "image/png"
A summary. Image parsing can be done with built-in libraries like the "image" module in Go. It is rarely worth implementing yourself, unless you are trying to learn about image formats.
© 2007-2021 sam allen. see site info on the changelog