Замена цвета в создаваемом рисунке jpg

yurash

Guest
Замена цвета в создаваемом рисунке jpg

Как заменить цвет в динамически генерируемом рисунке.
например, у меня есть черный квадрат на белом фоне я хочу получить красный квадрат на белом фоне.

Да ответы, мол, нарисуй квадрат не принимаются, потому что в реальном скрипте будет идти обработка фотографий.

Использую библиотеку GD
 

SiMM

Новичок
[m]imagecolorset[/m]? В любом случае, имеет смысл перечитать описания всех функци [m]image[/m].
 

neko

tеam neko
я думаю для фотографий это невозможно
и не имеет смысла
 

yurash

Guest
то есть если картинка в true color, цвет с помощю GD изменить нельзя?
 

neko

tеam neko
можно
только для этого надо знать какой менять
и тут мы возвращаемся к примеру с красным квадратом :)

короче говоря -- объясни что ты хочешь сделать и зачем
 

Silent

Новичок
yurash Возьми любую фотографию и посчитай, сколько в ней будет пикселей чисто красного цвета (например 255.0.0). А потом скажи, если ты к примеру захочешь поменять красный на зеленый, то на какой цвет нужно будет заменить цвет 253.2.3? А 240.20.25? И в какой момент цвет перестает быть красным? Ты можешь четко провести эту грань?
 

yurash

Guest
В меня есть фотография и мне нужно черный цвет 0.0.0 заменить, например на красный 255.0.0 вот та грань Silent
Используя imagecolorset рисунок пришлось перегнать в 256 цветов и можно заменить, но тогда теряется качество фото
 

neko

tеam neko
какой в этом смысл можешь объяснить?
ты вообще в курсе, что например в JPEG заранее вообще *неизвестно* какими получатся цвета при выводе?
 

Silent

Новичок
Если это фотография, то там вообще может не быть цвета 0.0.0, а будет 0.1.0, например. А вообще попробуй в цикле перебирать пиксели и использовать функции imagecolorat и imagesetpixel. Первая работает с true color, по поводу второй в документации явно не написано, но может будет работать.
 
Сверху