Mergi
GO API a speciális képkezeléshez
Nyílt forráskódú Go könyvtár a képek programozott egyesítéséhez, kivágásához és átméretezéséhez. Saját alkalmazásaiban vízjeleket és animációkat adhat hozzá a képekhez.
A Mergi egy hatékony go könyvtár, amely lehetővé teszi a képek programozott feldolgozását a GO nyelv használatával. A könyvtár jól szervezett, és egyszerűen integrálható számos művelet végrehajtásához, mindössze néhány soros Go kóddal. A könyvtár ingyenesen elérhető az MIT licenc alatt, és könnyedén használható projektjeiben.
A nyílt forráskódú Mergi könyvtár számos fontos képfeldolgozási funkció teljes támogatását tartalmazza, mint például a képek egyesítése, a képkivágás támogatása, a képek átméretezése, vízjelek hozzáadása a képekhez, képanimációs lehetőség, képek könnyítése, átmenet hozzáadása a képekhez és még sok más.
A Mergi használatának megkezdése
A Mergi telepítésének legegyszerűbb módja a GitHubon keresztüli telepítés. Kérjük, használja a következő parancsot a zökkenőmentes telepítés érdekében
Telepítse a Mergit a GitHubon keresztül.
$ go get github.com/noelyahan/mergi
Animálja a képeket a Go API-n keresztül
A nyílt forráskódú Mergi könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy animálják az adott képtömb eredményét saját GO-alkalmazásaikon belül. Meg kell adnia a kép helyes elérési útját vagy a fájl elérési útjának URL-címét. Ezután át kell adnia a képeket egy tömbnek, és szükség szerint késleltetést kell alkalmaznia. Végül exportálhatja a végeredményt egy animációs exportőr segítségével, hogy megkapja az eredményül kapott GIF-fájlt.
Hogyan animált képek 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
}
Képvágás a Go API-n keresztül
Egy tökéletes kép ezer szót tud mondani. A képkivágás a kép egy nem kívánt részének eltávolítása a fókusz létrehozása vagy a kép megerősítése érdekében. A Mergi könyvtár lehetővé teszi a szoftverprogramozók számára, hogy kivágják képeiket saját Go-alkalmazásaikon belül. A fejlesztőnek meg kell adnia a kívánt kép és hely egyéni szélességét és magasságát.
Crop Image keresztül 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
}
Vízjelek hozzáadása a képekhez
Az ingyenes Mergi könyvtár lehetővé teszi a szoftverprogramozók számára, hogy programozottan illesszen be vízjeleket a Go-alkalmazásokon belüli képekhez. A Vízjel funkció használatával könnyedén védhetjük képeinket a jogosulatlan másolatkészítéstől és -terjesztéstől. A könyvtár támogatja a logó és a szöveges vízjelek elhelyezését néhány soros Go kód használatával. A vízjelek tetszőlegesen tetszőleges helyen elhelyezhetők, valamint az Ön által választott átlátszatlansággal.
Vízjel hozzáadása a képhez 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"))
Képösszevonási támogatás
A Mergi könyvtár lehetővé teszi a fejlesztők számára, hogy több képet egyetlen képpé egyesítsenek igényeik szerint a Go programozási parancsok segítségével. A könyvtár támogatja több kép egyesítését adott sablonok szerint. Támogatja a vízszintes egyesítést és a függőleges egyesítést. Két kép kombinálásához meg kell adnia a kép elérési útját vagy helyes URL-címét, majd kiválaszthat egy sablont a képek vízszintes vagy függőleges egyesítéséhez.
Merge Images keresztül 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"))