[Go] imagick을 사용하여 이미지에 텍스트 쓰기
imagick 소개
Go에서 ImageMagick 기능을 사용할 수 있는 라이브러리
Go Imagick is a Go bind to ImageMagick's MagickWand C API.
imagick/README.md at master · gographics/imagick
차리다
ImageMagick 설치
imagick
는 ImageMagick의 MagickWand C API의 Go 바인딩입니다.따라서 ImageMagick을 별도로 설치해야 합니다.
운영체제에 따라 설치 방법도 다르지만 검색하면 상세한 글이 많이 나오기 때문에 생략합니다.
imagick 설치
$ go get gopkg.in/gographics/imagick.v2/imagick
샘플 코드
이번에는 아래의 그림에 텍스트를 써 보세요.
piyo.jpeg
main.go
package main
import (
"log"
"gopkg.in/gographics/imagick.v2/imagick"
)
func main() {
// imagick を初期化
imagick.Initialize()
defer imagick.Terminate()
// MagickWand, DrawingWand, PixelWand を作成
mw := imagick.NewMagickWand()
dw := imagick.NewDrawingWand()
pw := imagick.NewPixelWand()
// 画像を読み込み
if err := mw.ReadImage("./piyo.jpeg"); err != nil {
log.Fatal(err)
}
// フォントを設定
if err := dw.SetFont("/Library/Fonts/Arial.ttf"); err != nil {
log.Fatal(err)
}
// フォントサイズを設定
dw.SetFontSize(24)
// 書き込みの色を設定
if ok := pw.SetColor("#ff0000"); !ok {
log.Fatal("invalid color string")
}
dw.SetFillColor(pw)
// テキストを書き込み
// 引数は X 座標, Y 座標, テキスト の順
dw.Annotation(100, 100, "Hello World")
// 画像に反映
if err := mw.DrawImage(dw); err != nil {
log.Fatal(err)
}
// 書き出し
if err := mw.WriteImage("out.jpeg"); err != nil {
log.Fatal(err)
}
}
$ go run main.go
출력된 이미지는 다음과 같습니다.out.jpeg
기타 샘플 코드
아래에는 많은 공식 샘플 코드가 있다.
imagick/examples at master · gographics/imagick
참고 자료
Reference
이 문제에 관하여([Go] imagick을 사용하여 이미지에 텍스트 쓰기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kou_pg_0131/articles/go-write-text-to-image-by-imagick텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)