HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 26.01.2009, 00:37
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

PHP код:
<?php

$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";
}
?>
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.