простое решение для преобразования текста в изображение для рельсов - PullRequest
2 голосов
/ 27 июля 2010

Прежде чем я начну свой собственный, используя Rmagick, я хотел бы спросить, так как это, вероятно, довольно распространенный вариант использования.У меня есть несколько сотен адресов электронной почты, которые я хотел бы отображать пользователю для каждой записи, однако я хотел бы избегать отображения электронных писем в виде простого текста, чтобы избежать соскоба, поэтому я ищу какое-то решение для преобразования текста в изображение.

Это будет довольно просто, но, конечно, я хочу сгенерировать изображение только один раз для каждой записи, а затем сохранить его где-нибудь, в настоящее время я использую скрепку с s3, так как я размещаю на Heroku и т. Д.

Другая возможность состоит в том, чтобы потребовать от пользователя заполнить капчу для получения электронного письма, но это выглядит немного излишним.

Есть предложения?

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 июля 2010

Базовое решение rmagick не так уж плохо, 6 строк.Следующее дает вам желтый прямоугольник с ТЕКСТОМ в центре.Вы можете поэкспериментировать с шрифтом и размером шрифта.Звонок из центра есть, потому что я думал, что в середине он выглядел лучше.

require 'RMagick'

canvas = Magick::Image.new(300, 100){self.background_color = 'yellow'}
gc = Magick::Draw.new
gc.pointsize(50)
gc.text(30,70, "TEXT".center(14))

gc.draw(canvas)
canvas.write('tst.png')
1 голос
/ 27 июля 2010

Может быть стоит взглянуть на libgd2 (гем gd2), который легче, чем rmagick и ImageMagick.Не уверен, что они реализовали текстовые функции в геме, но это не сложно расширить для вызова других функций libgd2.

...