Библиотека Go за обработка на изображения на високо ниво с отворен код
Go API, който позволява завъртане на изображения, побиране на изображения, създаване на миниатюри на изображения, мащабиране на изображението, вграждане или разширяване на изображение, добавяне на ефекти на замъгляване към изображение и много други.
bimg е Go библиотека с отворен код на високо ниво за обработка на изображения, която предоставя възможност за четене и манипулиране на изображения само с няколко реда Go код. Библиотеката е по-малка по размер, но дава много добре организирани и ефективни резултати. Библиотеката е много бърза в сравнение с други налични библиотеки, които изискват много малко памет за изпълнение на задачата.
Bimg е C библиотека от високо ниво, която е изградена върху libvips, която е много мощна библиотека за обработка на изображения. Той осигурява поддръжка за четене на някои много популярни файлови формати на изображения като JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG и др. Можете също така лесно да експортирате изображения във формати JPEG, PNG, WEBP, както и в прозрачни изображения.
Библиотеката bimg включва поддръжка за няколко важни функции за обработка на изображения, като преоразмеряване на изображения, уголемяване на изображението, изрязване на изображение, включително поддръжка за интелигентно изрязване, обръщане или завъртане на изображения, създаване на миниатюри на изображения, поддръжка за мащабиране на изображения, добавяне на воден знак и ефект на замъгляване на Гаус, извличане на специфични област от изображение, изрязване на изображения, конвертиране на изображения в други формати и много други.
Първи стъпки с bimg
Най-лесният и препоръчителен начин за инсталиране на bimg е чрез GitHub.
Инсталирайте bimg чрез GitHub
go get -u gopkg.in/h2non/bimg.v1
Преобразуване на изображения в други формати чрез Go
Библиотеката bimg с отворен код позволява на разработчиците на софтуер да конвертират програмно изображения в други поддържани файлови формати само с няколко реда Go код. Да предположим, че имате във формат JPEG и искате да го конвертирате в PNG. Трябва да предоставите информация за изображението, като име на изображението, адрес и формат на преобразуване. Изображението ще бъде успешно конвертирано в предложения формат с лекота.
Преобразуване на JPG изображения в НПО чрез библиотека
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")
}
Изрязване или преоразмеряване на изображения
Безплатната библиотека bimg дава възможност на разработчиците на софтуер да преоразмеряват, както и да изрязват своите изображения в собствените си Go приложения. Трябва да предоставите ширината и височината на новото изображение, както и местоположението. Той също така поддържа принудителни операции за преоразмеряване без запазване на пропорциите. Можете също да добавите текст и да извлечете областта по ваш избор от изображение. Изрязване изрязва изображението до точния зададен размер.
Преоразмеряване на изображението чрез 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)
Добавяне на водни знаци към изображения
API на bimg включва функционалност за лесно добавяне на водни знаци към изображения в Go приложения. Добавянето на воден знак е много полезна функция за защита на вашите изображения. Водният знак е най-лесният и много полезен начин за защита на вашите снимки в интернет. Можете лесно да поставите лого или текстов воден знак. Библиотеката ви помага да добавите програмно воден знак към вашето изображение на всяка избрана позиция, както и непрозрачността.
Добавяне на воден знак към изображение чрез 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)
Обръщане и завъртане на изображения
Библиотеката bimg с отворен код дава възможност на разработчиците на софтуер да въртят своите изображения според нуждите си, като използват команди на езика Go. Има метод за автоматично завъртане на изображението. Функцията AutoRotate автоматично завърта изображението без допълнителна трансформация въз основа на метаданните за EXIF ориентация, ако има такива. Той също така осигурява поддръжка за флип или флоп изображения, интерпретация на изображения, дължина на изображението, метаданни на изображението и много други.
Завъртете изображението вътре 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)