API Go для обработки изображений на основе HTTP

Библиотека Go с открытым исходным кодом, которая поддерживает интеллектуальную онлайн-обрезку, переворачивание или поворот изображений, создание миниатюр изображений, масштабирование изображения, добавление водяных знаков в форматы PNG, WEBP, TIFF, PDF, GIF, SVG и т. д.

Imaginary — это очень мощный API Go для обработки изображений на основе 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, изображение флоп, масштабирование изображений, создание эскизов изображений, подгонка изображений, встраивание или расширение изображения, добавление изображения водяного знака, добавление эффектов размытия к изображению и многое другое.

Previous Next

Начало работы с воображаемым

Самый простой и рекомендуемый способ установки imaginary — через 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 и с легкостью переворачивать, переворачивать и поворачивать изображения.

Падение изображения через Go Library

{
    "operation": "crop",
    "params": {
      "width": 500,
      "height": 300
    }

Изменение размера изображений по размеру

Бесплатная воображаемая библиотека включает поддержку изменения размера изображений, чтобы они соответствовали командам Go внутри их приложений. Вы можете легко изменить размер изображения, чтобы оно соответствовало ширине и высоте, без обрезки. Библиотека упрощает вашу работу, поддерживая соотношение сторон изображения. Ширина и высота определяют максимальную ограничивающую рамку для изображения.

Изменить размер изображения через библиотеку Free 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 создает новое изображение того же размера и формата, что и исходное изображение.

Auto-Rotate изображений через бесплатную библиотеку Go

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{}
		}
	}
 Русский