
16.05.2010, 16:49
|
|
Познающий
Регистрация: 07.02.2010
Сообщений: 70
С нами:
8557551
Репутация:
56
|
|
Есть вариант перебрать картинку по пикселям и закрасить все пиксели, которые не удовлетворяют условию. Например, если красный, зеленый и синий цвета меньше 128 (строка условия if($r<128 || $g<128 || $b<128)…):
PHP код:
<?php
header("Content-type: image/gif");
$im = ImageCreateFromJpeg("kartinka.jpg");
$W=imagesx($im);
$H=imagesy($im);
$black=imagecolorallocate($im,0,0,0);
for($i=0;$i<$W;$i++){
for($j=0;$j<$H;$j++){
$rgb = ImageColorAt($im, $i, $j);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
if($r<128 || $g<128 || $b<128) imagesetpixel($im,$i,$j,$black);
}
}
imagegif($im);
imagedestroy($im);
?>
Последний раз редактировалось roxblnfk; 16.05.2010 в 16:52..
Причина: забыл убрать интимное имя картинки :)
|
|
|