Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah saya boleh menggabungkan berbilang imej menjadi satu dalam Go?
Membuat Imej Tunggal daripada Berbilang Imej dalam Go
Soalan:
In Go, bagaimanakah kita boleh menggabungkan berbilang fail imej (cth., PNG atau JPEG) menjadi satu imej yang lebih besar?
Jawapan:
Untuk menggabungkan imej dalam Go, ikut langkah ini :
Muat Imej:
img1, _, err := image.Decode(os.Open("test1.jpg")) img2, _, err := image.Decode(os.Open("test2.jpg"))
Tentukan Kedudukan:
Tentukan di mana imej kedua harus diletakkan berbanding dengan yang pertama. Sebagai contoh, jika anda ingin meletakkannya di sebelah kanan, gunakan yang berikut:
sp2 := image.Point{img1.Bounds().Dx(), 0}
Buat Segiempat Segiempat Besar:
Kira segi empat tepat yang meliputi kedua-dua imej:
r := image.Rectangle{image.Point{0, 0}, r2.Max}
Buat Imej Baharu:
Buat imej baharu yang cukup besar untuk memuatkan kedua-dua imej:
rgba := image.NewRGBA(r)
Lukis Imej:
Gunakan fungsi Lukis untuk meletakkan imej pada imej baharu:
draw.Draw(rgba, img1.Bounds(), img1, image.Point{0, 0}, draw.Src) draw.Draw(rgba, r2, img2, sp2, draw.Src)
Simpan Output:
Eksport imej gabungan:
out, err := os.Create("./output.jpg") jpeg.Encode(out, rgba, &jpeg.Options{ Quality: 80, })
Dengan mengikuti langkah ini, anda boleh mencipta satu imej yang terdiri daripada berbilang imej, mengembangkan keupayaan manipulasi imej anda dalam Go.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggabungkan berbilang imej menjadi satu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!