Многопоточное генерирование превью картинки с помощью Imagick::distort на основе матрицы искажений.
- ImageMagick 6-ой версии. Потенциально можно и на 7, но нужно тогда подключить
gopkg.in/gographics/imagick.v3/imagick
а неv2
и немного изменить код.
- Imagick, Ubuntu
sudo apt-get install libmagickwand-dev
- Imagick, Mac
brew install imagemagick@6 --from-source
Отредактируйте .env
файл по своему усмотрению.
go run gimly.go
Гимли будет доступен по адресу http://localhost:8901
- При изменении JSON схемы запроса, лучше всего воспользоваться GoJson
go get github.com/xeipuuv/gojsonschema
go get github.com/smartystreets/goconvey
$GOPATH/bin/goconvey
Открыть в браузере http://localhost:8080
Тесты написаны с помощью GoConvey
- Биндинг ImageMagick в Go
- RESTful JSON API сервис
- Чтение .env файлов
- BDD фреймворк тестирования GoConvey
- Нормальная обработка ошибок - с помощью rest.Error()
- Валидация запроса по JSON схеме
- Кроп и поворот дизайна
- Докер контейнер
- Тесты
- Разобраться с Glide, почему-то не устанавливает зависимости, пришлось использовать go get
- Postman коллекция, лучше после тестов
- Объявить об изменении JSON схемы: матрица искажений должна быть массивом, а не строкой, distortion_order стал числом
- Нормальные коды ошибок, а не просто 500 на всё
- Смещение слоёв относительно финального изображение
- Возвращать error при вызове image.Composite()
- Реализовать
PartialDistortMatrix