Biblioteca Go de procesare imagini la nivel înalt cu sursă deschisă
Accesați API care permite rotirea imaginilor, Fit imagini, crearea de miniaturi de imagine, măriți imaginea, încorporați sau extindeți o imagine, adăugați efecte de estompare unei imagini și multe altele.
bimg este o bibliotecă Go de procesare a imaginilor de nivel înalt open source care oferă capacitatea de citire și manipulare a imaginilor cu doar câteva rânduri de cod Go. Biblioteca este mai mică ca dimensiune, dar produce rezultate foarte bine organizate și eficiente. Biblioteca este foarte rapidă în comparație cu alte biblioteci disponibile care necesită memorie foarte mică pentru a finaliza sarcina.
Bimg este o bibliotecă C de nivel înalt care este construită deasupra libvips, care este o bibliotecă foarte puternică pentru procesarea imaginilor. Oferă suport pentru citirea unor formate de fișiere imagine foarte populare, cum ar fi JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG etc. De asemenea, puteți exporta cu ușurință imagini în formate JPEG, PNG, WEBP, precum și în imagini transparente.
Biblioteca bimg a inclus suport pentru mai multe funcții importante de procesare a imaginii, cum ar fi redimensionarea imaginilor, mărirea imaginii, decuparea imaginii, inclusiv suport pentru decupare inteligentă, răsturnare sau rotire a imaginilor, crearea de miniaturi ale imaginilor, suport pentru mărirea imaginii, adăugarea de filigran și efect de estompare Gaussian, extract specific zonă dintr-o imagine, tăiați imaginile, conversia imaginii în alte formate și multe altele.
Noțiuni introductive cu bimg
Cel mai simplu și recomandat mod de a instala bimg este prin GitHub.
Instalați bimg prin GitHub
go get -u gopkg.in/h2non/bimg.v1
Conversia imaginii în alte formate prin Go
Biblioteca bimg open source permite dezvoltatorilor de software să convertească în mod programatic imaginile în alte formate de fișiere acceptate cu doar câteva rânduri de cod Go. Să presupunem că aveți un format JPEG și doriți să îl convertiți în PNG. Trebuie să furnizați informații despre imagine, cum ar fi numele imaginii, adresa și formatul de conversie. Imaginea va fi convertită cu succes în formatul sugerat cu ușurință.
Transformă JPG de imagini în NG prin Go Library
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Convert(bimg.PNG)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
if bimg.NewImage(newImage).Type() == "png" {
fmt.Fprintln(os.Stderr, "The image was converted into png")
}
Decupați sau redimensionați imagini
Biblioteca gratuită bimg oferă dezvoltatorilor de software posibilitatea de a redimensiona și de a decupa imaginile lor în propriile aplicații Go. Trebuie să furnizați și lățimea și înălțimea noii imagini și locația. De asemenea, acceptă forțarea operațiunilor de redimensionare fără a păstra raportul de aspect. De asemenea, puteți adăuga text și extrage zona dorită dintr-o imagine. Decuparea decupează imaginea la dimensiunea exactă specificată.
Sursă foto: Go Library
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Resize(800, 600)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
size, err := bimg.NewImage(newImage).Size()
if size.Width == 800 && size.Height == 600 {
fmt.Println("The image size is valid")
}
bimg.Write("new.jpg", newImage)
Adăugarea de filigrane la imagini
API-ul bimg a inclus funcționalitate pentru adăugarea cu ușurință a filigranelor la imagini în interiorul aplicațiilor Go. Adăugarea unui filigran este o caracteristică foarte utilă pentru a vă proteja imaginile. Filigranul este cel mai simplu și foarte util mod de a vă proteja fotografiile de pe internet. Puteți plasa cu ușurință un logo sau un filigran text. Biblioteca vă ajută să adăugați în mod programatic un filigran la imaginea dvs. în orice poziție selectată, precum și opacitatea.
Adăugați Watermark pentru imagine prin Go API
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
watermark := bimg.Watermark{
Text: "Chuck Norris (c) 2315",
Opacity: 0.25,
Width: 200,
DPI: 100,
Margin: 150,
Font: "sans bold 12",
Background: bimg.Color{255, 255, 255},
}
newImage, err := bimg.NewImage(buffer).Watermark(watermark)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)
Întoarceți și rotiți imaginile
Biblioteca bimg cu sursă deschisă oferă dezvoltatorilor de software capacitatea de a-și roti imaginile în funcție de nevoile lor folosind comenzile în limbajul Go. Există o metodă pentru rotirea automată a imaginii. Funcția Rotire automată rotește automat imaginea fără nicio transformare suplimentară pe baza metadatelor de orientare EXIF, dacă sunt disponibile. De asemenea, oferă suport pentru imagini flip sau flop, interpretarea imaginii, lungimea imaginii, metadatele imaginii și multe altele.
Rotiți imaginea în aplicația Go
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Rotate(90)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)