Pustaka Manipulasi Imej Sumber Terbuka untuk Pembangun Go
GIFT ialah salah satu pustaka sumber terbuka yang paling mudah untuk digunakan apabila melibatkan pemprosesan imej dan manipulasi semasa menggunakan Go.
Apabila ia datang untuk membangunkan aplikasi dalam Go yang bergantung pada pemprosesan dan manipulasi imej, pustaka GIFT (Go Image Processing Toolkit) ialah salah satu pustaka terbaik yang dibungkus sepenuhnya yang boleh anda gunakan. Ia tidak memerlukan pemalam atau perpustakaan tambahan yang berada di luar skop Go, dan boleh dimuat turun terus dari Git.
Sebagai pustaka sumber terbuka, anda boleh memasukkan GIFT ke aplikasi perisian anda dengan mudah untuk membenarkan ciri pemprosesan imej seperti mengubah saiz imej, memotong, menambah penapis, meningkatkan atau mengurangkan ketepuan dan banyak lagi.
Begitu juga, anda juga boleh mencipta penapis baharu atau imej baharu, selain daripada menggunakan penapis yang telah ditambah dalam kit alat. Ia agak mudah digunakan, ringan dan tidak memerlukan keserasian atau tweak platform silang. Ia adalah perpustakaan Sumber Terbuka yang sempurna untuk pembangun selesa menggunakan Go.
Bermula dengan GIFT
Cara termudah dan disyorkan untuk memasang GIFT adalah melalui GitHub. Sila gunakan arahan berikut untuk pemasangan yang mudah dan lancar..
Pasang GIFT melalui GitHub
go get -u github.com/disintegration/gift
Gunakan Penapis menggunakan Pustaka Go Percuma
Pustaka GIFT sumber terbuka membolehkan pembangun perisian menggunakan penapis secara pengaturcaraan dalam imej. Dengan bantuan fungsi Draw anda boleh menggunakan semua penapis dan perubahan pada imej sumber (src), dan memberikan anda output dalam hasil imej destinasi (dst). Perubahan bermula dari sudut kiri atas dan seterusnya.
Cara Memohon Penapis ColorBalance melalui API Go
g := gift.New(
gift.ColorBalance(20, -20, 0), // +20% red, -20% green
)
dst := image.NewRGBA(g.Bounds(src.Bounds()))
g.Draw(dst, src)
Perpustakaan Go Percuma untuk Mengubah Komposisi Imej
Apabila ia datang untuk menukar komposisi imej terdapat dua fungsi yang menyokongnya, pertama ialah CopyOperator. Dengan CopyOperator anda boleh menggantikan piksel imej dst anda dengan piksel imej src yang ditapis. Perubahan ini boleh digunakan dengan bantuan fungsi Draw yang dinyatakan di atas.
Gunakan Komposisi Imej melalui Penapis DrawAt melalui Go
// It outputs the filtered src image to the dst image
g.DrawAt(dst, src, dst.Bounds().Min, gift.CopyOperator)
Menggunakan Over Operator dalam Pustaka Go GIFT
Sekiranya anda ingin menindas satu imej ke atas imej yang lain, fungsi OverOperator boleh menyelesaikan kerja. Mod ini boleh berguna sekiranya anda ingin meletakkan kawasan lutsinar imej src di atas imej dst.
Cara Membuat Salinan Imej melalui Perpustakaan Go
// Create a new image with dimensions of the bgImage.
dstImage := image.NewRGBA(bgImage.Bounds())
// Copy the bgImage to the dstImage.
gift.New().Draw(dstImage, bgImage)
// Draw the fgImage over the dstImage at the (100, 100) position.
gift.New().DrawAt(dstImage, fgImage, image.Pt(100, 100), gift.OverOperator)