Válassza az API-t a HTTP-alapú képfeldolgozáshoz
Nyílt forráskódú Go Library, amely támogatja az online intelligens körbevágást, a képek megfordítását vagy elforgatását, képbélyegképek létrehozását, képnagyítást, vízjel hozzáadását PNG-hez, WEBP-hez, TIFF-hez, PDF-hez, GIF-hez és SVG-hez stb.
Az imaginary egy nagyon erős, nyílt forráskódú HTTP-alapú képfeldolgozó Go API, amely lehetővé teszi a szoftverfejlesztők számára, hogy speciális képműveleteket hajtsanak végre magán vagy nyilvános HTTP-szolgáltatásokon keresztül, kisebb függőséggel. Támogatja az olyan fejlett műveleteket, mint az API token engedélyezése, az URL-aláírások védelme, a HTTP-forgalom szabályozási stratégiája és a webes kliensek CORS-támogatása. A könyvtár képes beolvasni a képeket a HTTP POST hasznos adatokból, a szerver helyi elérési útjaiból vagy távoli HTTP-kiszolgálókról.
Az imaginary egy erős és stabil könyvtár, amely a libvips gyors és hatékony képfeldolgozásra épül. A könyvtár támogatja az olyan képformátumokat, mint a JPEG, PNG, HEIF, WEBP, TIFF, PDF, GIF és SVG formátumok, valamint ezeken keresztül az átlátszó átalakítást. Teljes támogatást nyújtott a Docker & Fly.io számára. A Fly nagyszerűsége az, hogy csökkentheti a várakozási időt, és jobb gyakorlatokat biztosít azáltal, hogy a forgalmat a felhasználó tartózkodási helyéhez közel szolgálja ki.
A képzeletbeli könyvtár teljes mértékben támogatja a képek létrehozásával, konvertálásával és manipulálásával kapcsolatos számos fontos funkciót, mint például a kép átméretezése, nagyítása, képkivágás, intelligens vágás, képek elforgatása, AutoRotate további képátalakításokkal, automatikus átfordítás EXIF metaadatok alapján, kép flop, nagyítás, képek miniatűrök létrehozása, képek illesztése, kép beágyazása vagy kiterjesztése, vízjel kép hozzáadása, elmosódási effektusok hozzáadása a képhez és még sok más.
Kezdő lépések a képzeletbelivel
A képzeletbeli telepítés legegyszerűbb és ajánlott módja a GitHubon keresztül.
A képzeletbeli telepítés a GitHubon keresztül
go get -u github.com/h2non/imaginary
Konvertálja a képeket más formátumokba a Go segítségével
A nyílt forráskódú API képzeletbeli könyvtára támogatja a képek egyszerű konvertálását más támogatott fájlformátumokba. A képeket néhány nagyon hasznos formátumban mentheti, például JPEG, PNG és WEBP formátumban. A könyvtár konverziós támogatást nyújtott további minőségi és tömörítési beállításokkal. Csak meg kell adnia a megfelelő kép nevét, címét és átalakítási formátumát, és a könyvtár könnyen konvertálja azt néhány Go paranccsal.
Konvertáljon képregényen keresztül
func Convert(buf []byte, o ImageOptions) (Image, error) {
if o.Type == "" {
return Image{}, NewError("Missing required param: type", http.StatusBadRequest)
}
if ImageType(o.Type) == bimg.UNKNOWN {
return Image{}, NewError("Invalid image type: "+o.Type, http.StatusBadRequest)
}
opts := BimgOptions(o)
return Process(buf, opts)
}
Online képkivágás a Go segítségével
A nyílt forráskódú képzeletbeli könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy online vágják ki képeiket, mindössze néhány soros Go kóddal a saját alkalmazásaikban. Egyéni szélesség vagy magasság megadásával levághatja a képet. A könyvtár megkönnyíti a munkáját a képarány fenntartásával. A könyvtár támogatja a kép kivágását is a libvips beépített intelligens kivágási algoritmussal. Meghatározhatja a PNG-képek tömörítési szintjét is, és könnyedén megfordíthatja és elforgathatja a képeket.
Image Dropping keresztül Go könyvtár
{
"operation": "crop",
"params": {
"width": 500,
"height": 300
}
Méretezze át a képeket, hogy illeszkedjen
Az ingyenes képzeletbeli könyvtár támogatja a képek átméretezését, hogy az alkalmazásukon belüli Go parancsokkal illeszkedjenek. Könnyedén átméretezheti a képet, hogy az illeszkedjen a szélességhez és magassághoz, levágás nélkül. A könyvtár megkönnyíti munkáját a képarány megtartásával. A szélesség és magasság határozza meg a kép maximális határolókeretét.
Resize Image keresztül Ingyenes Go Könyvtár
func Resize(buf []byte, o ImageOptions) (Image, error) {
if o.Width == 0 && o.Height == 0 {
return Image{}, NewError("Missing required param: height or width", http.StatusBadRequest)
}
opts := BimgOptions(o)
opts.Embed = true
if o.IsDefinedField.NoCrop {
opts.Crop = !o.NoCrop
}
return Process(buf, opts)
}
Forgassa el és forgassa el automatikusan a képeket
Az ingyenes képzeletbeli könyvtár funkciókat kínál a képek egyszerű elforgatásához. Tartalmaz egy nagyon hasznos funkciót is a képek automatikus elforgatásához a Go alkalmazásokon belül. Az EXIF tájolási metaadatok alapján automatikusan elforgatja a képet, további képátalakítások nélkül. Az AutoRotate módszer a bemeneti képpel megegyező méretű és formátumú új képet állít elő.
Auto-Rotate Kép a Free Go könyvtáron keresztül
func AutoRotate(buf []byte, o ImageOptions) (out Image, err error) {
defer func() {
if r := recover(); r != nil {
switch value := r.(type) {
case error:
err = value
case string:
err = errors.New(value)
default:
err = errors.New("libvips internal error")
}
out = Image{}
}
}