Bagaimanakah saya boleh menggabungkan berbilang imej menjadi satu dalam Go?

Linda Hamilton
Lepaskan: 2024-11-06 07:31:02
asal
876 orang telah melayarinya

How can I combine multiple images into one in 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 :

  1. Muat Imej:

    img1, _, err := image.Decode(os.Open("test1.jpg"))
    img2, _, err := image.Decode(os.Open("test2.jpg"))
    Salin selepas log masuk
  2. 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}
    Salin selepas log masuk
  3. Buat Segiempat Segiempat Besar:
    Kira segi empat tepat yang meliputi kedua-dua imej:

    r := image.Rectangle{image.Point{0, 0}, r2.Max}
    Salin selepas log masuk
  4. Buat Imej Baharu:
    Buat imej baharu yang cukup besar untuk memuatkan kedua-dua imej:

    rgba := image.NewRGBA(r)
    Salin selepas log masuk
  5. 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)
    Salin selepas log masuk
  6. Simpan Output:
    Eksport imej gabungan:

    out, err := os.Create("./output.jpg")
    jpeg.Encode(out, rgba, &jpeg.Options{
       Quality: 80,
    })
    Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!