[go] 이미지 회전

이미지를 회전하는 방법에는 여러 가지가 있습니다. 여기에는 Go 언어를 사용하여 이미지를 회전하는 예제 코드를 제공하도록 하겠습니다.

이미지 회전하기

이미지를 회전하기 위해서는 imagedraw 패키지를 사용합니다. 아래는 이미지를 90도 회전하는 예제 코드입니다.

package main

import (
	"image"
	"image/draw"
	"os"
)

func main() {
	// 이미지 파일 열기
	file, err := os.Open("input.jpg")
	if err != nil {
		panic(err)
	}
	defer file.Close()

	// 이미지 디코딩
	srcImg, _, err := image.Decode(file)
	if err != nil {
		panic(err)
	}

	// 새 이미지 생성
	bounds := srcImg.Bounds()
	dstImg := image.NewRGBA(image.Rect(0, 0, bounds.Dy(), bounds.Dx()))

	// 이미지 회전
	draw.Draw(dstImg, dstImg.Bounds(), srcImg, bounds.Min, draw.Src)

	// 회전된 이미지 파일로 저장
	outfile, err := os.Create("output.jpg")
	if err != nil {
		panic(err)
	}
	defer outfile.Close()
	jpeg.Encode(outfile, dstImg, nil)
}

위의 예제 코드에서는 image 패키지를 사용하여 이미지를 디코딩하고, draw 패키지를 사용하여 이미지를 회전시킵니다. 회전된 이미지는 jpeg 패키지를 사용하여 파일로 저장됩니다.

이제 위의 예제 코드를 참고하여 이미지를 회전하는 Go 프로그램을 작성할 수 있습니다.

참고 자료