Go で複数の画像から単一の画像を作成する
質問:
Go では、複数の画像ファイル (PNG や JPEG など) を 1 つの大きな画像に結合するにはどうすればよいですか?
答え:
Go で画像を結合するには、次の手順に従います。 :
画像の読み込み:
img1, _, err := image.Decode(os.Open("test1.jpg")) img2, _, err := image.Decode(os.Open("test2.jpg"))
位置の決定:
最初の画像に対して 2 番目の画像をどこに配置するかを決定します。たとえば、右側に配置したい場合は、次を使用します:
sp2 := image.Point{img1.Bounds().Dx(), 0}
大きな長方形を作成します:
次の長方形を計算します。両方の画像をカバーします:
r := image.Rectangle{image.Point{0, 0}, r2.Max}
新しい画像を作成します:
両方の画像を保持できる十分な大きさの新しい画像を作成します:
rgba := image.NewRGBA(r)
画像を描画します:
描画機能を使用して、新しい画像上に画像を配置します:
draw.Draw(rgba, img1.Bounds(), img1, image.Point{0, 0}, draw.Src) draw.Draw(rgba, r2, img2, sp2, draw.Src)
出力を保存します:
結合された画像をエクスポートします:
out, err := os.Create("./output.jpg") jpeg.Encode(out, rgba, &jpeg.Options{ Quality: 80, })
これらの手順に従って、複数の画像から構成される 1 つの画像を作成できます。 Go の画像操作機能。
以上がGo で複数の画像を 1 つに結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。