Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Развитие биндинга графической библиотеки «GD» для «Go»

Несколько лет назад авторы языка PHP форкнули библиотеку GD, биндинг к которой для языка Go я вчера написал, и стали развивать собственную версию. В язык PHP входит именно форк.

Исходная библиотека беднее, например, там нет вызова ImageConvolution и всего того, что с ним можно делать (размытие, выделение краёв и так далее), а мне хочется, чтобы в моём биндинге они были. Можно, конечно, выдрать GD из РHP, но я хочу написать более-менее универсальное решение, а во все пакеты на всех платформах входит именно оригинальная библиотека.

Почесав репу, я потратил пару часов, переписал часть PHP-библиотеки GD на «Go» и воткнул её в свой биндинг. Теперь в go-gd есть вызовы GrayScale, Negate, Brightness, Contrast, Color, Convolution, GaussianBlur, EdgeDetectQuick и Emboss.