Добрый день, подскажите, пожалуйста, как сменить цвет в градиенте?
Прикрепленная картинка - градиент от белого до прозрачного. Необходимо заменить белый цвет на красный, например.
Таким образом получается градиент от красного (с той насыщенностью, что у белого) до прозрачного.
PHP:
скопировать код в буфер обмена
/**
* @patam $src source image
* @patam $rgb array rgb color
*/
function imageReplaceColor
(&$src, array $rgb) {
for($x = 0; $x < $srcW; $x++)
{
for($y = 0; $y < $srcH; $y++)
{
$src, $rgb[0], $rgb[1], $rgb[2], $srcColor['alpha']
);
}
}
}
imageReplaceColor
($image, array(255
, 0
, 0
));
header('Content-type: image/png');
Большое спасибо, скрипт действительно работает так как нужно. Но разве встроенными средствами гд это нельзя решить? Перебор всех пикселей, думаю, не самая лучшая идея
armancho7777777 Подскажите пожалуйста как аккуратно убрать белый фон на примере этой функции, скажем у простой фотки?
Плюс ведь еще оттенки белого разные бывают, это вообще возможно?
Если все 3 канала (r == g == b) совпадают, значит это либо чёрный, либо белый, либо оттенки серого.
Соответственно чем ближе к 255-ти, тем прозрачнее.
Вычисляете процентное соотношение, чтобы потом задать уровень прозрачности текущего пиксела.
Но без изъяна всё равно не выйдет.
Спасибо, но я ничего не понял, то ли в синтаксисе дело то-ли во мне...))
Вчера всю ночь пытался в цикле ImageColorTransparent сделать (пока прописать вручную все цвета) так ничего не получилось, берет последний и применяет, пытался даже сохранить и снова открыть в цикле, все равно не выходит..
Да и ImageColorTransparent ужасно с плавностью работает... Вернее НЕ работает..)) тем более что картинка 40х40..
Ну ладно что без изъяна не выйдет, но я думаю не так как ImageColorTransparent...
А у вас все плавно так..
Раз уж такая тема, хотел спросить на счет ГД, как там сделать искриление изображения?
Т.е. у меня, допустим, выводится изображение, а я хотел бы чтобы онобыло немного искривлено как-нибудь, например, как-буто часть была захвачена и растянута. (как обычно в выведении капчи делают)