Превратить сайт в черно-белый. Как?
6 повідомлень
#16 років тому
На некоторых фотосайтах видел функцию превращения цветной фотки в черно-белую, теоретически, получается возможным сделать и весь сайт черно-белым (для отдельных случаев, например в день траура) Дл я текста я так понимаю, необходимо будет сделать отдельный css (если он цветной), подскажите, как это применить к изображениям на сайте?
756 повідомлень
#16 років тому
Цитата ("xgb"):На некоторых фотосайтах видел функцию превращения цветной фотки в черно-белую, теоретически, получается возможным сделать и весь сайт черно-белым (для отдельных случаев, например в день траура) Дл я текста я так понимаю, необходимо будет сделать отдельный css (если он цветной), подскажите, как это применить к изображениям на сайте?
На php библеотекой GD!
756 повідомлень
#16 років тому
Каждое изображение проходит через этот код!
<?php
//Файл, который мы будет конвертировать
$file = 'someimage.jpg';
// Поле заголовка
header('Content-type: image/jpeg');
// Размеры изображения
list($width, $height) = getimagesize($file);
// Создаем изображение JPEG из файла
$source = imagecreatejpeg($file);
// Создаем холст
$bwimage= imagecreate($width, $height);
// Создаем 256-цветную палитру
for ($c=0;$c<256;$c++)
{
$palette = imagecolorallocate($bwimage,$c,$c,$c);
}
//Функция yiq для преобразования в серый цвет
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 для изменения rgb-палитры нашего цветного изображения, чтобы преобразовать его в серое
$gs = yiq($r,$g,$b);
imagesetpixel($bwimage,$x,$y,$palette);
}
}
// Выводим в браузер преобразованное изображение
imagejpeg($bwimage);
?>
Ну а css генерировать темже алгоритмом ($r*0.299)+($g*0.587)+($b*0.114));
но проще тему отдельную написать и по особым случаям включать!
2195 повідомлень
#16 років тому
Цитата:Ну а css генерировать темже алгоритмом ($r*0.299)+($g*0.587)+($b*0.114));
Чего?
xgb
Цитата:
подскажите, как это применить к изображениям на сайте
Есть несколько вариантов - покажите лучше сайт, эффект на котором вам понравился.
5330 повідомлень
#16 років тому
Каждое изображение проходит через этот код!
т.е. если на сайте 1500 уников в день, то хостер вломит по полной за загрузку сервера??
сделайте css файл для траура и картинки в черно-белый вариант переведите и не парьтесь
6 повідомлень
#16 років тому
Цитата ("ArtPro"):Каждое изображение проходит через этот код!
т.е. если на сайте 1500 уников в день, то хостер вломит по полной за загрузку сервера??
сделайте css файл для траура и картинки в черно-белый вариант переведите и не парьтесь
Пожалуй, соглашусь с вами.
771 повідомлення
756 повідомлень
#16 років тому
Цитата ("ArtPro"):Каждое изображение проходит через этот код!
т.е. если на сайте 1500 уников в день, то хостер вломит по полной за загрузку сервера??
сделайте css файл для траура и картинки в черно-белый вариант переведите и не парьтесь
Речь идёт не о дизайне шаблона, а о картинках которые размещены самими пользователями (аватары, выложеные изображения в разделе), дублирование которых проблематично и трудоёмко!
А если про дизайн-то конечно проще тему сделать и всё!
5330 повідомлень
#16 років тому
Картинки пользователей прогонять через скрипт.... это жесть. особенно если посетителей много... я бы тогда слил папку с картинками ACDSEE натравил бы на пакетную обработку и залил бы на сервак... или уж если на то пошло, то изначально при добавлении картинок бы сделал бы сохранение варианта и чб.нагрузка на посещаемый сервер важнее.