![](https://products-qa.fileformat.com/pl/image/go/mergi/header-image.png)
Mergi
GO API do zaawansowanej manipulacji obrazem
Biblioteka Open Source Go do programowego łączenia, przycinania i zmiany rozmiaru obrazów. Możesz dodawać znaki wodne i animacje do obrazów we własnych aplikacjach.
Mergi to potężna biblioteka go, która zapewnia możliwość programowego przetwarzania obrazów przy użyciu języka GO. Biblioteka jest dobrze zorganizowana i można ją łatwo zintegrować w celu wykonywania wielu operacji za pomocą zaledwie kilku linijek kodu Go. Biblioteka jest dostępna bezpłatnie na licencji MIT i można ją z łatwością wykorzystać w swoich projektach.
Biblioteka Mergi o otwartym kodzie źródłowym zawiera pełną obsługę kilku ważnych funkcji przetwarzania obrazu, takich jak scalanie obrazów, obsługa przycinania obrazów, zmiana rozmiaru obrazów, dodawanie znaków wodnych do obrazów, funkcja animacji obrazu, wygładzanie obrazów, dodawanie przejść do obrazów i wiele innych.
Pierwsze kroki z Mergi
Najłatwiejszym sposobem zainstalowania Mergi jest skorzystanie z usługi GitHub. Użyj następującego polecenia, aby uzyskać płynną instalację
Zainstaluj Mergi przez GitHub.
$ go get github.com/noelyahan/mergi
Animuj obrazy za pomocą Go API
Biblioteka Mergi o otwartym kodzie źródłowym daje programistom możliwość animowania dowolnego wyniku tablicy obrazów we własnych aplikacjach GO. Musisz podać poprawną ścieżkę obrazu lub adres URL ścieżki pliku. Następnie musisz przekazać obrazy do tablicy i zastosować opóźnienie zgodnie z potrzebami. Na koniec możesz wyeksportować końcowy wynik za pomocą eksportera animacji, aby uzyskać wynikowy plik GIF.
Jak animować obrazy przez Go API
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
}
Przycinanie obrazu przez Go API
Idealne zdjęcie może wyrazić tysiące słów. Kadrowanie obrazu to usuwanie niechcianego obszaru obrazu w celu uzyskania ostrości lub wzmocnienia obrazu. Biblioteka Mergi umożliwia programistom przycinanie obrazów we własnych aplikacjach Go. Deweloper musi podać niestandardową szerokość i wysokość wymaganego obrazu i lokalizacji.
Obrazy zbożowe przez 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
}
Dodawanie znaków wodnych do obrazów
Bezpłatna biblioteka Mergi daje programistom możliwość łatwego programowego wstawiania znaków wodnych do obrazów w ich aplikacjach Go. Korzystając z funkcji znaku wodnego, możemy łatwo chronić nasze obrazy przed tworzeniem i dystrybucją nieautoryzowanych kopii. Biblioteka obsługuje umieszczanie logo oraz tekstowych znaków wodnych za pomocą kilku linijek kodu Go. Znaki wodne można umieszczać w dowolnej wybranej przez Ciebie pozycji, a także w wybranym przez Ciebie stopniu.
Dodaj znak wodny do obrazu przez Go API
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"))
Obsługa scalania obrazów
Biblioteka Mergi ułatwia programistom łączenie wielu obrazów w jeden obraz zgodnie z ich potrzebami za pomocą poleceń programowania Go. Biblioteka obsługuje łączenie wielu obrazów według podanych szablonów. Obsługuje funkcje łączenia poziomego i pionowego. Aby połączyć dwa obrazy, musisz podać ścieżkę obrazu lub poprawny adres URL, a następnie możesz wybrać szablon, aby scalić obrazy w poziomie lub w pionie.
Połącz zdjęcia za pośrednictwem 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"))