Knihovna Open Source High Level Image Processing Go
Go API, které umožňuje otáčení obrázků, přizpůsobení obrázků, vytváření miniatur obrázků, přibližování obrázku, vkládání nebo rozšiřování obrázku, přidávání efektů rozostření do obrázku a mnoho dalšího.
bimg je open source knihovna Go na vysoké úrovni pro zpracování obrázků, která poskytuje schopnost číst a manipulovat s obrázky pouze pomocí několika řádků kódu Go. Knihovna je menší velikosti, ale poskytuje velmi dobře organizované a efektivní výsledky. Knihovna je velmi rychlá ve srovnání s jinými dostupnými knihovnami, které vyžadují velmi malou paměť k dokončení úkolu.
Bimg je knihovna C na vysoké úrovni, která je postavena na libvips, což je velmi výkonná knihovna pro zpracování obrázků. Poskytuje podporu pro čtení některých velmi oblíbených formátů obrazových souborů jako JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG atd. Obrázky můžete také snadno exportovat do formátů JPEG, PNG, WEBP a také do průhledných obrázků.
Knihovna bimg obsahuje podporu pro několik důležitých funkcí pro zpracování obrazu, jako je změna velikosti obrázků, zvětšení obrázku, oříznutí obrázku včetně podpory inteligentního oříznutí, převrácení nebo otočení obrázků, vytváření miniatur obrázků, podpora přiblížení obrázku, přidání vodoznaku a efektu Gaussova rozostření, extrahování specifických oblast z obrázku, oříznutí obrázků, převod obrázku do jiných formátů a mnoho dalších.
Začínáme s bimg
Nejjednodušší a doporučený způsob instalace bimg je přes GitHub.
Nainstalujte si bimg přes GitHub
go get -u gopkg.in/h2non/bimg.v1
Převod obrázků do jiných formátů přes Go
Knihovna bimg s otevřeným zdrojovým kódem umožňuje vývojářům softwaru programově převádět obrázky do jiných podporovaných formátů souborů pomocí pouhých několika řádků kódu Go. Předpokládejme, že máte soubor ve formátu JPEG a chcete jej převést na PNG. Musíte zadat informace o obrázku, jako je název obrázku, adresa a formát převodu. Obrázek bude snadno úspěšně převeden do navrhovaného formátu.
převést JPG Image na NG přes Go knihovna
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")
}
Oříznout nebo změnit velikost obrázků
Bezplatná knihovna bimg poskytuje vývojářům softwaru možnost měnit velikost a také ořezávat obrázky v rámci jejich vlastních aplikací Go. Musíte také zadat šířku a výšku nového obrázku a umístění. Podporuje také vynucené operace změny velikosti bez zachování poměru stran. Můžete také přidat text a extrahovat oblast dle vašeho výběru z obrázku. Oříznout ořízne obrázek na přesnou zadanou velikost.
Změna velikosti obrázku přes knihovnu Go
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)
Přidávání vodoznaků do obrázků
Bimg API obsahuje funkce pro snadné přidávání vodoznaků do obrázků v aplikacích Go. Přidání vodoznaku je velmi užitečná funkce pro ochranu obrázků. Vodoznak je nejjednodušší a velmi užitečný způsob ochrany vašich fotografií na internetu. Můžete snadno umístit logo nebo textový vodoznak. Knihovna vám pomůže programově přidat vodoznak do vašeho obrázku na libovolné vybrané pozici, stejně jako neprůhlednost.
Přidejte vodoznak do obrázku přes 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)
Převrátit a otočit obrázky
Knihovna bimg s otevřeným zdrojovým kódem dává vývojářům softwaru možnost otáčet obrázky podle svých potřeb pomocí příkazů jazyka Go. Existuje metoda pro automatické otáčení obrazu. Funkce AutoRotate automaticky otočí obrázek bez další transformace na základě metadat orientace EXIF, pokud jsou k dispozici. Poskytuje také podporu pro obracející se obrázky, interpretaci obrázků, délku obrázku, metadata obrázků a mnoho dalších.
Otočný obrázek uvnitř 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)