1. Məhsullar
  2.   Şəkil
  3.   GO
  4.   Mergi  

Mergi  

 
 

Qabaqcıl Şəkil Manipulyasiyası üçün GO API

Şəkilləri proqramlı şəkildə birləşdirmək, kəsmək və ölçüsünü dəyişmək üçün Open Source Go kitabxanası. Siz öz proqramlarınız daxilində şəkillərə su nişanı və animasiya əlavə edə bilərsiniz.

Mergi, GO dilindən istifadə edərək şəkilləri proqramlı şəkildə emal etmək imkanı verən güclü go kitabxanasıdır. Kitabxana yaxşı təşkil olunub və sadəcə bir neçə sətir Go kodu ilə çoxsaylı əməliyyatları yerinə yetirmək üçün asanlıqla inteqrasiya oluna bilər. Kitabxana MIT lisenziyası altında sərbəst şəkildə mövcuddur və asanlıqla layihələrinizdə istifadə edilə bilər.

Açıq mənbə Mergi kitabxanasına şəkillərin birləşdirilməsi, təsvirin kəsilməsi dəstəyi, şəkillərin ölçüsünün dəyişdirilməsi, şəkillərinizə su nişanlarının əlavə edilməsi, təsvirin animasiya qurğusu, şəkillərin asanlaşdırılması, şəkillərə keçidin əlavə edilməsi və s. kimi bir neçə mühüm təsvirin işlənməsi xüsusiyyətlərinə tam dəstək daxildir.

Previous Next

Mergi ilə işə başlamaq

Mergi quraşdırmağın ən asan yolu GitHub vasitəsilə istifadə etməkdir. Düzgün quraşdırma üçün aşağıdakı əmrdən istifadə edin

GitHub vasitəsilə Mergi quraşdırın.

$ go get github.com/noelyahan/mergi 

Go API vasitəsilə şəkilləri canlandırın

Açıq mənbəli Mergi kitabxanası proqram tərtibatçılarına öz GO proqramlarında istənilən verilmiş görüntü massivinin nəticəsini canlandırmaq gücü verir. Şəklin düzgün yolunu və ya fayl yolunun URL-ni təmin etməlisiniz. Sonra Şəkilləri bir sıraya ötürməli və ehtiyacınıza uyğun olaraq gecikmə tətbiq etməlisiniz. Sonda, nəticədə GIF faylını əldə etmək üçün son nəticəni bir animasiya ixracçısı vasitəsilə ixrac edə bilərsiniz.

Go API vasitəsilə şəkilləri necə canlandırmaq olar

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 vasitəsilə şəkil kəsmə

Mükəmməl bir şəkil min söz danışa bilər. Şəklin kəsilməsi fokus yaratmaq və ya təsviri gücləndirmək üçün təsvirin arzuolunmaz sahəsinin çıxarılmasıdır. Mergi kitabxanası proqramçılara öz şəkillərini öz Go proqramlarında kəsməyə imkan verir. Tərtibatçı tələb olunan şəkil və yerin fərdi enini və hündürlüyünü təmin etməlidir.

Go API vasitəsilə şəkli kəsin

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
}

Su nişanları Şəkillərə əlavə

Pulsuz Mergi kitabxanası proqramçılara asanlıqla Go proqramlarında şəkillərə su nişanı daxil etmək imkanı verir. Su nişanı xüsusiyyətindən istifadə etməklə biz asanlıqla qoruya bilərik şəkillərimizi şəkilləri icazəsiz surətlərin yaradılması və yayılmasından. Kitabxana bir neçə Go kodu sətirindən istifadə edərək loqo və mətn su nişanlarının yerləşdirilməsini dəstəkləyir. Su nişanları seçdiyiniz hər hansı seçilmiş mövqedə, eləcə də seçdiyiniz qeyri-şəffaflıqla yerləşdirilə bilər.

Go API vasitəsilə Şəkilə su nişanı əlavə edin

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"))

Şəkil Birləşdirmə Dəstəyi

Mergi kitabxanası tərtibatçılara Go proqramlaşdırma əmrlərindən istifadə edərək ehtiyaclarına uyğun olaraq birdən çox təsviri bir şəkilə birləşdirməyə kömək edir. Kitabxana verilmiş şablonlara uyğun olaraq çoxlu şəkillərin birləşməsini dəstəkləyir. Üfüqi birləşmə və şaquli birləşmə vasitələrini dəstəkləyir. İki şəkli birləşdirmək üçün bir şəkil yolunu və ya düzgün URL təqdim etməlisiniz və bundan sonra şəkilləri üfüqi və ya şaquli şəkildə birləşdirmək üçün şablon seçə bilərsiniz.

Şəkilləri Go API vasitəsilə birləşdirin

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"))
 Azəri