Go 언어로 이미지 폭과 높이 정보 알아내기

안녕하세요?

오래간만에 Go 언어 강좌인데요.

Golang(고랭)언어의 image 패키지에 보면 DecodeConfig 함수가 있습니다.

이걸 이용할 건데요.

package main

import (
	"fmt"
	"image"
	_ "image/gif"
	_ "image/jpeg"
	_ "image/png"
	"os"
)

func main() {
	imagePath := "physical-100.jpeg"

	file, err := os.Open(imagePath)
	defer file.Close()

	if err != nil {
		fmt.Fprintf(os.Stderr, "%v\n", err)
	}

	image, img_format, err := image.DecodeConfig(file)
	if err != nil {
		fmt.Fprintf(os.Stderr, "%s: %v\n", imagePath, err)
	}

  fmt.Printf("Image format: %s\n", img_format)
  fmt.Println("Width:", image.Width, "Height:", image.Height)
}

image.DecodeConfig는 이미지의 Config 구조체 정보와 이미지 포맷을 리턴해 줍니다.

Config 구조체에 보면 바로 우리가 원하는 정보인 Width, Height 속성이 있습니다.

그럼 터미널에서 실행해 볼까요?

아주 잘 작동하네요.