Go API за HTTP базирана обработка на изображения
Go Library с отворен код, който поддържа онлайн интелигентно изрязване, обръщане или завъртане на изображения, създаване на миниатюри на изображения, мащабиране на изображения, добавяне на воден знак към PNG, WEBP, TIFF, PDF, GIF и SVG и т.н.
The imaginary е много мощен Go API за обработка на изображения, базиран на HTTP с отворен код, който дава на разработчиците на софтуер силата да извършват разширени операции с изображения чрез частни или обществени HTTP услуги с по-малка зависимост. Той поддържа разширени операции като оторизация на API токени, защита на URL подписа, стратегия за регулиране на HTTP трафика и поддръжка на CORS за уеб клиенти. Библиотеката може да чете изображения от HTTP POST полезни натоварвания, локални пътища на сървъра или отдалечени HTTP сървъри.
The imaginary е мощна и стабилна библиотека, изградена върху libvips за бърза и ефективна обработка на изображения. Библиотеката включва поддръжка за формати на изображения като JPEG, PNG, HEIF, WEBP, TIFF, PDF, GIF и SVG формати, както и прозрачно преобразуване между тях. Предоставя пълна поддръжка за Docker & Fly.io. Страхотното при Fly е, че може да намали забавянето и да осигури по-добра практика, като обслужва трафик близо до местоположението на вашия потребител.
Въображаемата библиотека напълно поддържа няколко важни функции, свързани със създаването, преобразуването и манипулирането на изображения, като преоразмеряване на изображения, уголемяване на изображения, изрязване на изображения, интелигентно изрязване, завъртане на изображения, автоматично завъртане с допълнителни трансформации на изображения, автоматично обръщане на базата на EXIF метаданни, изображение флоп, мащабиране на изображения, създаване на миниатюри на изображения, побиране на изображения, вграждане или разширяване на изображение, добавяне на изображение с воден знак, добавяне на ефекти на размазване към изображение и много други.
Първи стъпки с въображаемо
Най-лесният и препоръчителен начин за инсталиране на имагинери е чрез GitHub.
Инсталирайте въображаемо чрез GitHub
go get -u github.com/h2non/imaginary
Конвертирайте изображения в други формати чрез Go
Въображаемата API библиотека с отворен код включва поддръжка за лесно конвертиране на вашите изображения в други поддържани файлови формати. Можете да запазвате изображения в някои много полезни формати като JPEG, PNG и WEBP формати. Библиотеката е предоставила поддръжка за преобразуване с допълнителни настройки за качество и компресия. Просто трябва да предоставите правилното име на изображението, адрес и формат за конвертиране и библиотеката лесно ще го конвертира вместо вас само с няколко команди на Go.
Преобразуване на изображения чрез въображаема библиотека
func Convert(buf []byte, o ImageOptions) (Image, error) {
if o.Type == "" {
return Image{}, NewError("Missing required param: type", http.StatusBadRequest)
}
if ImageType(o.Type) == bimg.UNKNOWN {
return Image{}, NewError("Invalid image type: "+o.Type, http.StatusBadRequest)
}
opts := BimgOptions(o)
return Process(buf, opts)
}
Онлайн изрязване на изображения чрез Go
Въображаемата библиотека с отворен код позволява на разработчиците на софтуер да изрязват своите изображения онлайн само с няколко реда Go код в собствените си приложения. Можете да изрежете изображението си, като предоставите персонализирана ширина или височина. Библиотеката улеснява работата ви, като поддържа съотношението на изображението. Библиотеката също поддържа изрязване на изображението с помощта на вградения в libvips алгоритъм за интелигентно изрязване. Можете също така да определите нивото на компресия на изображението за PNG изображения и да обръщате, флоп и завъртате вашите изображения с лекота.
Изтриване на изображения чрез библиотека
{
"operation": "crop",
"params": {
"width": 500,
"height": 300
}
Преоразмерете изображенията, за да паснат
Безплатната въображаема библиотека включва поддръжка за преоразмеряване на изображения, за да се поберат с помощта на Go команди в техните приложения. Можете лесно да преоразмерите изображение, за да се побере в ширина и височина, без изрязване. Библиотеката улеснява работата ви, като поддържа съотношението на изображението. Ширината и височината определят максималната граница на изображението.
Преразглеждане на изображения чрез безплатна библиотека
func Resize(buf []byte, o ImageOptions) (Image, error) {
if o.Width == 0 && o.Height == 0 {
return Image{}, NewError("Missing required param: height or width", http.StatusBadRequest)
}
opts := BimgOptions(o)
opts.Embed = true
if o.IsDefinedField.NoCrop {
opts.Crop = !o.NoCrop
}
return Process(buf, opts)
}
Завъртете и автоматично завъртете вашите изображения
Безплатната въображаема библиотека предоставя функционалност за лесно завъртане на вашите изображения. Той също така включва много полезна функция за автоматично завъртане на изображения в Go приложения. Той автоматично завърта изображението без допълнителни трансформации на изображението въз основа на метаданни за EXIF ориентация. Методът AutoRotate създава ново изображение със същия размер и формат като входното изображение.
Снимка: Безплатна библиотека
func AutoRotate(buf []byte, o ImageOptions) (out Image, err error) {
defer func() {
if r := recover(); r != nil {
switch value := r.(type) {
case error:
err = value
case string:
err = errors.New(value)
default:
err = errors.New("libvips internal error")
}
out = Image{}
}
}