Öppen källkod högnivåbildbehandling Go-bibliotek
Go API som tillåter bilderrotation, Fit-bilder, skapande av miniatyrbilder, zooma in bilden, bädda in eller utöka en bild, lägga till oskärpa effekter på en bild och mycket mer.
bimg är ett Go-bibliotek för högnivåbildbehandling med öppen källkod som ger möjlighet att läsa och manipulera bilder med bara ett par rader Go-kod. Biblioteket är mindre till storleken men ger mycket välorganiserade och effektiva resultat. Biblioteket är mycket snabbt jämfört med andra tillgängliga bibliotek som kräver mycket litet minne för att utföra uppgiften.
bimg är ett högnivå C-bibliotek som är byggt ovanpå libvips som är ett mycket kraftfullt bibliotek för att bearbeta bilder. Det ger stöd för att läsa några mycket populära bildfilformat som JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG, etc. Du kan också enkelt exportera bilder till JPEG, PNG, WEBP-format samt till transparenta bilder.
Bimg-biblioteket har inkluderat stöd för flera viktiga bildbehandlingsfunktioner som att ändra storlek på bilder, förstora bilden, bildbeskärning inklusive stöd för smart beskärning, vända eller rotera bilder, skapa bildminiatyrer, stöd för bildzoomning, lägga till vattenstämpel och Gaussisk oskärpa effekt, extrahera specifik område från en bild, trimma bilder, bildkonvertering till andra format och många fler.
Komma igång med bimg
Det enklaste och rekommenderade sättet att installera bimg är via GitHub.
Installera bimg via GitHub
go get -u gopkg.in/h2non/bimg.v1
Bildkonvertering till andra format via Go
Bimg-biblioteket med öppen källkod gör det möjligt för mjukvaruutvecklare att programmatiskt konvertera bilder till andra filformat som stöds med bara ett par rader Go-kod. Låt oss anta att du har ett i JPEG-format och du vill konvertera det till PNG. Du måste ange bildinformation som bildnamn, adress och konverteringsformat. Bilden kommer att konverteras till det föreslagna formatet med lätthet.
konvertera JPG Bild till NG via 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")
}
Beskär eller ändra storlek på bilder
Det kostnadsfria bimg-biblioteket ger mjukvaruutvecklare möjlighet att ändra storlek och beskära sina bilder i sina egna Go-applikationer. Du måste också ange bredd och höjd på den nya bilden och platsen. Det stöder också att tvinga fram storleksändringar utan att bevara bildförhållandet. Du kan också lägga till text och extrahera önskat område från en bild. Beskär beskär bilden till exakt angiven storlek.
Storleksbild via 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)
Lägga till vattenstämplar till bilder
bimg API har inkluderat funktionalitet för att enkelt lägga till vattenstämplar till bilder i Go-applikationer. Att lägga till en vattenstämpel är en mycket användbar funktion för att skydda dina bilder. Vattenmärkning är det enklaste och mycket användbara sättet för att skydda dina foton på internet. Du kan enkelt placera en logotyp eller textvattenstämpel. Biblioteket hjälper dig att programmatiskt lägga till en vattenstämpel till din bild på valfri vald position samt opaciteten.
Lägg till vattenstämpel i bild via 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)
Vänd och rotera bilder
Bimg-biblioteket med öppen källkod ger mjukvaruutvecklare möjlighet att rotera sina bilder enligt deras behov med hjälp av Go-språkkommandon. Det finns en metod för automatisk bildrotation. AutoRotera-funktionen roterar automatiskt bilden utan ytterligare transformation baserat på EXIF-orienteringsmetadata, om tillgängligt. Det ger också stöd för flip- eller flop-bilder, bildtolkning, bildlängd, bildmetadata och många fler.
Rotera bild i Go Apps
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)