Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

MakeCorner на «Go»

У меня есть такая программа в проектах «MakeCorner», я ей фотографии готовлю перед публикацией, она скругляет уголки и оптимизирует изображения.

Когда я начал только её писать (PHP, перегнанный в exe), меня в комментах спросили будет ли версия для других ОС. Я ответил, что не будет, так как не знаю способа перегнать PHP в ELF или, скажем, Mach-O.

Некоторое время назад я начал писать MakeCorner на Go, а недавно выкатил весь проект на ГитХаб (до того времени он у меня жил в локальном репозитории).

Там есть почти всё, что в версии на PHP, кроме (пока) сохранения EXIF. Ключи совместимы (есть одно отличие: для ключа width нужно задавать ноль, чтобы ширина автоматически сохранялась). Кроме того, скругление уголков я переписал, теперь это делается качественнее.

Небольшая инструкция по сборке.

Если, вдруг, будете собирать под своей ОС, там есть Makefile, в нём возможно нужно будет исправить три переменные в начале. В системе должна присутствовать установленная библиотека GD.

Файл jpegtran.bz2 надо будет заменить, там должен лежать скопилированный и сжатый bzip2 файл jpegtran для вашей платформы (для Windows можно найти уже скомпилированный).

Вообще, я думаю над тем, чтобы не класть запускаемый файл внутрь моего кода и потом его оттуда доставать, а подключить к проекту libjpeg, которой пользуется jpegtran, но ещё не решил стоит ли геморрой свеч.

4 комментария
indeec17 2011

«стоит ли геморрой свеч» ржу =)))

Евгений Степанищев (bolknote.ru) 2011

Комментарий для indeec17:

Ну, это не я, к сожалению, придумал, выражение смешное, да :)

pupkin759 2013

У меня проблемы. Ни как не могу скомплерировать go — файл.
go — движок говорит: не могу найти исполняемый файл.
Делал всё по инструкции:
https://github.com/bolknote/MakeCorner/blob/master/README
Но не как п.2 в инструкции мне не удается сделать.
Фрагмент из терминала:

MacBook-Pro-apple-2:~ apple$ go get github.com/bolknote/go-gd

github.com/bolknote/go-gd

exec: «gcc»: executable file not found in $PATH

Евгений Степанищев (bolknote.ru) 2013

Комментарий для pupkin759:

Поставьте gcc.