Показать сообщение отдельно

  #9  
Старый 13.03.2009, 00:05
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

Было уже, именно в этой теме, юзай поиск:

PHP код:
<pre>
<? 
@set_time_limit(0); 
@
ini_set("display_errors","1");


$s_file="1.jpg";           //Файл исходник
$r_file="2.jpg";           //Куда сохранить результат
wb($s_file,$r_file);   //Запускаем функцию преобразования картинки



/* Функция для преобразования цветной картинки в черно-белую */
Function wb($file1,$file2) {

//Получаем данные о картинке (высота и ширина) 
list($width$height) = getimagesize($file1); 

// Начинаем работу над исходником
$source imagecreatefromjpeg($file1); 
$bwimageimagecreate($width$height); 

//Создаем 256 цветную палитру
for ($c=0;$c<256;$c++) 
{
$palette[$c] = imagecolorallocate($bwimage,$c,$c,$c);
}

//Функция для преобразования rgb-пикселей в черно-белый цвет
function yiq($r,$g,$b
{
return ((
$r*0.299)+($g*0.587)+($b*0.114));
}

//Считываем цветовые пиксели (один за другим)
for ($y=0;$y<$height;$y++) 
{
for (
$x=0;$x<$width;$x++) 
{
$rgb imagecolorat($source,$x,$y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b $rgb 0xFF;

//А здесь мы преобразуем все цветные пиксели в черно-белые с помощью функции yiq
$gs yiq($r,$g,$b);
imagesetpixel($bwimage,$x,$y,$palette[$gs]);
}


// Сохраняем нашу получившуюся картинку
imagejpeg($bwimage,$file2);
ImageDestroy($bwimage);

Echo 
"Done";
}
?>

</pre>
 
Ответить с цитированием