Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > Эффект Outer Glow (Внешнее свечение) для текста


Автор: naxellar 7.12.2008, 02:53
Нужна генерация изображения с числом и с эффектом Outer Glow (Внешнее свечение) как в Adobe Photoshop.

Автор: skyboy 7.12.2008, 09:53
средствами GD - невозможно, насколько мне известно.
если же пользоваться сторонней программой(может, есть в http://www.imagemagick.org/script/index.php)

Автор: MuToGeN 18.12.2008, 01:29
Рисуем цветом А на фоне цвета Б текст. Создаем вторую картинку, где рисуем этот самый outer glow следующим способом: обходим все писели в цикле и считаем кол-во соседних "закрашенных текстом" на первой картинке в нужном нам радиусе: (x0-x1)^2 + (y0-y1)^2 = r^2 (теорема Пифагора, да). Только читаем исходные данные с первой, а рисуем на второй. Собственно, высичляем цвет в зависимости от кол-ва текста рядом и помечаем этим цветом данный (который проходим в цикле) пиксель. Зависимость цвета от кол-ва "текста" в радиусе ни разу не линейная. Потом выкидываем первую картинку и рисуем тот же текст в том же месте на второй.

Вот как-то так в самом примитивном варианте. Только фотошоп для этого пользует векторные данные, а не растровые, посему этот алгоритм пригодится только для того, чтоб что-то покрутить в руках и пощупать, не более.

Автор: krundetz 18.12.2008, 01:41
naxellar, в этой теме я уже приводил алгоритм рисования контров вокруг текста, эфект свечения достигается примерно также только слоев смещения и наложения будет больше, и контур будет не сплошного цвета а градиентного(на самом деле будет псевдо градиент).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)