Nyílt forráskódú képátméretező kiszolgáló, amely gyorsabb feldolgozást biztosít
A Picfit egy Pure Go-ban kifejlesztett képátméretező szerver, amely a használt tárolómotortól függetlenül gondoskodik a képfeldolgozás tárolási részeiről.
A képfeldolgozás, különösen az átméretezés, hosszú folyamat lehet, ha a képet különböző motorokon tárolják, mivel időbe telhet, amíg az alkalmazás eltávolítja az avatarok kódjait, és elkerüli a szinkronhívásokat a generált kép lekéréséhez.
A Picfit megoldja ezeket a problémákat azáltal, hogy proxyként működik a tárolómotor és a HTTP-gyorsítótár rendszere között. Bár ingyenesen letölthető, nyílt forráskódú és gyorsabb feldolgozást biztosít, ugyanakkor elkerülhető, hogy ugyanazt a képet kétszer állítsák elő, és túl sok helyet foglaljon el.
Tárolhat képeket az Amazon S3-on, a DigitalOcean S3-on, a fájlrendszerén stb.
A Picfit használatának megkezdése
A Picfit telepítésének legegyszerűbb és ajánlott módja a GitHubon keresztül. Kérjük, használja a következő parancsot az egyszerű és gördülékeny telepítés érdekében.
Telepítse a Picfit-et a GitHubon keresztül
git clone https://github.com/thoas/picfit.git
Képek átméretezése a Free GO Library segítségével
A nyílt forráskódú picfit könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy a Go parancsok segítségével programozottan átméretezzék a képeket saját alkalmazásukon belül. A Picfit egyik fő funkciója a képek átméretezése a választott magasságnak és szélességnek megfelelően. Egyszerűen adja meg a w (a kívánt kép szélessége) és a h (a kívánt kép magassága) értékeit.
Kép átméretezése a Free GO Library segítségével
func (e *GoImageEngine) Resize(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
if options.Format == imaging.GIF {
content, err := e.TransformGIF(img, width, height, options, imaging.Resize)
if err != nil {
return nil, err
}
return content, nil
}
image, err := e.Source(img)
if err != nil {
return nil, err
}
return e.resize(image, width, height, options)
}
Ingyenes Go Library bélyegképek generálásához
Ezzel a funkcióval új képet generálhat egy újramintavételezett szűrővel felfelé vagy lefelé, és levághatja egy meghatározott magasságra és szélességre. Ebben a függvényben is meg kell adni a w és h értékeket.
Hogyan generálhat GIF miniatűröket a GO Apps-ben?
func (e *GoImageEngine) Thumbnail(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
if options.Format == imaging.GIF {
content, err := e.TransformGIF(img, width, height, options, imaging.Thumbnail)
if err != nil {
return nil, err
}
return content, nil
}
image, err := e.Source(img)
if err != nil {
return nil, err
}
return e.thumbnail(image, width, height, options)
}
Képinformáció visszakeresése a Go API-n keresztül
Az átméretezési funkciókon kívül a Picfit néhány fontos funkcióval is rendelkezik a fájlinformációk lekérésére, például a Get, valamint a tárolási vagy feltöltési parancsokra. A Get függvénnyel a következő paramétereket kapja eredményül:
- Fájlnév: a generált fájl neve
- Elérési út: ez lesz a generált fájl elérési útja a tárolómotoron
- URL: ha a base_url jelen van, akkor megkapja a generált fájl teljes URL-jét