Mergi
Gelişmiş Resim Manipülasyonu için GO API
Görüntüleri programlı olarak birleştirmek, kırpmak ve yeniden boyutlandırmak için Açık Kaynak Git kitaplığı. Kendi uygulamalarınızdaki resimlere filigran ve animasyon ekleyebilirsiniz.
Mergi, görüntüleri GO dilini kullanarak programlı olarak işleme yeteneği sağlayan güçlü bir go kitaplığıdır. Kütüphane iyi organize edilmiştir ve sadece birkaç satır Go kodu ile çok sayıda işlemi gerçekleştirmek için kolayca entegre edilebilir. Kütüphane, MIT lisansı altında ücretsiz olarak temin edilebilir ve projelerinizde kolaylıkla kullanılabilir.
Açık kaynak Mergi kitaplığı, görüntüleri birleştirme, görüntü kırpma desteği, görüntüleri yeniden boyutlandırma, görüntülerinize filigran ekleme, görüntü animasyon özelliği, görüntüleri yumuşatma, görüntülere geçiş ekleme ve daha pek çok önemli görüntü işleme özelliği için tam destek içerir.
Mergi'ye Başlarken
Mergi'yi kurmanın en kolay yolu GitHub üzerinden kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın
GitHub üzerinden Mergi'yi yükleyin.
$ go get github.com/noelyahan/mergi
Go API ile Görüntüleri Canlandırın
Açık kaynaklı Mergi kitaplığı, yazılım geliştiricilere, kendi GO uygulamalarında herhangi bir görüntü dizisi sonucunu canlandırma gücü verir. Resmin doğru yolunu veya dosya yolunun URL'sini sağlamanız gerekir. Ardından Görüntüleri bir diziye geçirmeniz ve ihtiyacınıza göre gecikme uygulamanız gerekir. Sonunda, ortaya çıkan GIF dosyasını almak için nihai sonucu bir animasyon dışa aktarıcı aracılığıyla dışa aktarabilirsiniz.
Go API aracılığıyla animasyon nasıl yapılır
func Animate(imgs []image.Image, delay int) (gif.GIF, error) {
for i, v := range imgs {
if v == nil {
msg := fmt.Sprintf("Mergi found a error image=[%v] on %d", v, i)
return gif.GIF{}, errors.New(msg)
}
}
delays := make([]int, 0)
for i := 0; i < len(imgs); i++ {
delays = append(delays, delay)
}
images := encodeImgPaletted(&imgs)
return gif.GIF{
Image: images,
Delay: delays,
}, nil
}
Go API ile Görüntü Kırpma
Mükemmel bir resim bin kelime konuşabilir. Görüntü kırpma, bir odak oluşturmak veya görüntüyü güçlendirmek için görüntünün istenmeyen bir alanının çıkarılmasıdır. Mergi kitaplığı, yazılım programcılarının görüntülerini kendi Go uygulamaları içinde kırpmalarını sağlar. Geliştiricinin, gerekli görüntünün ve konumun özel genişliğini ve yüksekliğini sağlaması gerekir.
Ek Resim Go API
var errCrop = errors.New("Mergi found a error image on Crop")
var errCropBound = errors.New("Mergi expects more than 0 value for bounds")
func Animate(imgs []image.Image, delay int) (gif.GIF, error) {
for i, v := range imgs {
if v == nil {
msg := fmt.Sprintf("Mergi found a error image=[%v] on %d", v, i)
return gif.GIF{}, errors.New(msg)
}
}
delays := make([]int, 0)
for i := 0; i < len(imgs); i++ {
delays = append(delays, delay)
}
images := encodeImgPaletted(&imgs)
return gif.GIF{
Image: images,
Delay: delays,
}, nil
}
Resimlere Filigran Ekleme
Ücretsiz Mergi kitaplığı, yazılım programcılarına Go uygulamalarının içindeki görüntülere programlı olarak filigran ekleme yeteneği verir. Filigran özelliğini kullanarak, izinsiz kopya oluşturma ve dağıtımından görüntülerimizi kolaylıklakoruyabiliriz. Kitaplık, birkaç satır Go kodu kullanarak bir logonun yanı sıra metin filigranlarının yerleştirilmesini destekler. Filigranlar, seçtiğiniz herhangi bir seçilen konuma ve seçtiğiniz opaklıkla yerleştirilebilir.
Go API ile Resime Sumark ekle
originalImage, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_1.png"))
watermarkImage, _ := mergi.Import(impexp.NewFileImporter("./testdata/glass-mergi_logo_watermark_90x40.jpg"))
res, _ := mergi.Watermark(watermarkImage, originalImage, image.Pt(250, 10))
mergi.Export(impexp.NewFileExporter(res, "watermark.png"))
Görüntü Birleştirme Desteği
Mergi kitaplığı, geliştiricilerin Go programlama komutlarını kullanarak ihtiyaçlarına göre birden fazla görüntüyü tek bir görüntüde birleştirmelerini kolaylaştırır. Kitaplık, verilen şablonlara göre birden fazla görüntünün birleştirilmesini destekler. Yatay birleştirme ve dikey birleştirme olanaklarını destekler. İki resmi birleştirmek için bir resim yolu veya doğru URL sağlamanız gerekir ve bundan sonra resimleri yatay veya dikey olarak birleştirmek için bir şablon seçebilirsiniz.
Go API
image1, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_1.png"))
image2, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_2.png"))
horizontalImage, _ := mergi.Merge("TT", []image.Image{image1, image2})
mergi.Export(impexp.NewFileExporter(horizontalImage, "horizontal.png"))
verticalImage, _ := mergi.Merge("TB", []image.Image{image1, image2})
mergi.Export(impexp.NewFileExporter(verticalImage, "vertical.png"))