Biblioteka Open Source do przetwarzania obrazów wysokiego poziomu Go
Go API, które umożliwia obracanie obrazów, dopasowywanie obrazów, tworzenie miniatur obrazów, powiększanie obrazu, osadzanie lub rozszerzanie obrazu, dodawanie efektów rozmycia do obrazu i wiele więcej.
bimg to wysokopoziomowa biblioteka Go do przetwarzania obrazów o otwartym kodzie źródłowym, która umożliwia odczytywanie i manipulowanie obrazami za pomocą zaledwie kilku linijek kodu Go. Biblioteka jest mniejsza, ale daje bardzo dobrze zorganizowane i wydajne wyniki. Biblioteka jest bardzo szybka w porównaniu z innymi dostępnymi bibliotekami, które wymagają bardzo małej pamięci do wykonania zadania.
Bimg to wysokopoziomowa biblioteka C zbudowana na bazie libvips, która jest bardzo potężną biblioteką do przetwarzania obrazów. Zapewnia obsługę odczytu niektórych bardzo popularnych formatów plików graficznych, takich jak JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG itp. Możesz także łatwo eksportować obrazy do formatów JPEG, PNG, WEBP, a także do obrazów przezroczystych.
Biblioteka bimg zawiera obsługę kilku ważnych funkcji przetwarzania obrazu, takich jak zmiana rozmiaru obrazów, powiększanie obrazu, przycinanie obrazu, w tym obsługa inteligentnego przycinania, odwracanie lub obracanie obrazów, tworzenie miniatur obrazów, obsługa powiększania obrazu, dodawanie znaku wodnego i efektu rozmycia Gaussa, wyodrębnianie specyficzne obszar z obrazu, przycinanie obrazów, konwersja obrazu do innych formatów i wiele innych.
Pierwsze kroki z bimg
Najłatwiejszym i polecanym sposobem instalacji bimg jest GitHub.
Zainstaluj bimg przez GitHub
go get -u gopkg.in/h2non/bimg.v1
Konwersja obrazu do innych formatów przez Go
Biblioteka bimg o otwartym kodzie źródłowym umożliwia programistom programową konwersję obrazów do innych obsługiwanych formatów plików za pomocą zaledwie kilku wierszy kodu Go. Załóżmy, że masz format JPEG i chcesz go przekonwertować na PNG. Musisz podać informacje o obrazie, takie jak nazwa obrazu, adres i format konwersji. Obraz zostanie z łatwością przekonwertowany do sugerowanego formatu.
konwertować JPG Obraz do NG za pośrednictwem biblioteki Go
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")
}
Przytnij lub zmień rozmiar obrazów
Bezpłatna biblioteka bimg daje programistom możliwość zmiany rozmiaru, a także przycinania obrazów we własnych aplikacjach Go. Musisz także podać szerokość i wysokość nowego obrazu oraz lokalizację. Obsługuje również wymuszanie operacji zmiany rozmiaru bez zachowywania proporcji. Możesz także dodać tekst i wyodrębnić wybrany obszar z obrazu. Przytnij przycina obraz do dokładnie określonego rozmiaru.
Resize Image 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)
Dodawanie znaków wodnych do obrazów
Bimg API zawiera funkcję łatwego dodawania znaków wodnych do obrazów w aplikacjach Go. Dodanie znaku wodnego to bardzo przydatna funkcja do ochrony zdjęć. Znak wodny to najłatwiejszy i bardzo przydatny sposób ochrony zdjęć w Internecie. Możesz łatwo umieścić logo lub tekstowy znak wodny. Biblioteka pomaga programowo dodać znak wodny do obrazu w dowolnej wybranej pozycji, a także przez krycie.
Dodaj znak wodny do obrazu przez 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)
Odwracanie i obracanie obrazów
Biblioteka bimg o otwartym kodzie źródłowym daje programistom możliwość obracania obrazów zgodnie z ich potrzebami za pomocą poleceń języka Go. Istnieje metoda automatycznego obracania obrazu. Funkcja AutoRotate automatycznie obraca obraz bez dodatkowej transformacji na podstawie metadanych orientacji EXIF, jeśli są dostępne. Zapewnia również obsługę obrazów typu flip lub flop, interpretacji obrazu, długości obrazu, metadanych obrazu i wielu innych.
Obracać obraz wewnątrz aplikacji 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)