
16.05.2010, 16:55
|
|
Познающий
Регистрация: 29.11.2004
Сообщений: 80
С нами:
11286751
Репутация:
6
|
|
Сообщение от roxblnfk
Есть вариант перебрать картинку по пикселям и закрасить все пиксели, которые не удовлетворяют условию. Например, если красный, зеленый и синий цвета меньше 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);
?>
Спасибо  ++
|
|
|