Open Source Image Resizing Server som ger snabbare bearbetning
Picfit är en server för bildstorleksändring utvecklad i Pure Go som tar hand om lagringsdelen av bildbehandlingen oavsett vilken lagringsmotor som används.
Bildbehandling, särskilt storleksändring kan vara en lång process om din bild lagras på olika motorer eftersom det kan ta tid för applikationen att ta bort koder för avatarer och undvika synkrona anrop för att hämta den genererade bilden.
Picfit löser dessa problem genom att fungera som en proxy mellan din lagringsmotor och HTTP-cachesystemet. Även om det är gratis att ladda ner, öppen källkod och ger snabbare bearbetning, undviker det också att generera samma bild två gånger och ta upp för mycket utrymme.
Du kan lagra bilder på Amazon S3, DigitalOcean S3, ditt filsystem och mer.
Komma igång med Picfit
Det enklaste och rekommenderade sättet att installera Picfit är via GitHub. Använd följande kommando för en enkel och smidig installation.
Installera Picfit via GitHub
git clone https://github.com/thoas/picfit.git
Ändra storlek på bilder via gratis GO-bibliotek
Picfit-biblioteket med öppen källkod gör det möjligt för mjukvaruutvecklare att programmatiskt ändra storlek på bilder i sin egen applikation med hjälp av Go-kommandon. En av huvudfunktionerna hos Picfit är möjligheten att ändra storlek på bilder efter höjd och bredd du väljer. Ange helt enkelt värdena w (den önskade bildens bredd) och h (den önskade bildens höjd).
Ändra storlek på bild via Free GO Library
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)
}
Gratis Gå till bibliotek för att generera miniatyrer
Du kan använda den här funktionen för att skapa en ny bild med ett omsamplat filter, antingen skalat upp eller ned, och beskära den till en angiven höjd och bredd. Återigen i den här funktionen måste du ange w- och h-värdena.
Hur genererar man GIF-miniatyrer i GO-appar?
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)
}
Hämta bildinformation via Go API
Förutom att ändra storlek på funktioner, har Picfit också några viktiga funktioner för att hämta filinformation som Get, samt lagring eller uppladdning av kommandon. Med funktionen Get får du följande parametrar som resultat:
- Filnamn: namnet på den genererade filen
- Sökväg: detta kommer att vara sökvägen till din genererade fil på din lagringsmotor
- URL: om base_url finns kommer du att få en fullständig URL till din genererade fil