Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Черное-белое изображение средствами PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
El Diablo
Отправлено: 04 Октября, 2013 - 12:46:28
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Доброго времени суток, подскажите, я давно сформировал вот такую систему загрузки изображений:

PHP:
скопировать код в буфер обмена
  1.  
  2. $array = array('jpg', 'JPG', 'png', 'gif');
  3. $type = $_FILES['uploadfile']['type'];
  4. if ($type == 'image/jpeg') {$filetype = str_replace('image/','',$type);}
  5. $name = explode(".", $_FILES['uploadfile']['name']);
  6. $exp = end($name);
  7. $temp = $_FILES['uploadfile']['tmp_name'];
  8.         if(in_array($exp, $array))
  9.         {
  10.     $uploaddir='partners/original';
  11.         $thumbdir='partners/thumb';
  12.     $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
  13.                 if (!is_uploaded_file($_FILES['uploadfile']['tmp_name']))
  14.                 {echo 'ошибка передачи файла';}
  15.                 else {
  16.                 if(copy($temp,$uploadfile))
  17.                 {
  18.                                 if(!empty($uploadfile))
  19.                                 {$uniqid = md5(uniqid(""));
  20.                                         if(!empty($uniqid))
  21.                                         {$renamefile = substr($uploadfile,11,-4);
  22.                                         $newuploadfile = rename($uploadfile,$uploaddir.$uniqid.".jpg");
  23.                                                 if(!empty($newuploadfile))
  24.                                                 {$size = getimagesize ($uploaddir.$uniqid.".jpg");
  25.                                                 $width = $size[0];
  26.                                                 $height = $size[1];
  27.                                                         if($size[0]>100)
  28.                                                         {
  29.                                                                         if ($width == $height) {$case=1;}
  30.                                                                         if ($width > $height) {$case=2;}
  31.                                                                         if ($width < $height) {$case=3;}
  32.                                                                         switch ($case)
  33.                                                                                 {case 1:
  34.                                                                                         $newwidth=100;
  35.                                                                                         $newheight=100;
  36.                                                                                         $newimage = $newwidth."x".$newheight;
  37.                                                                                 break;
  38.                                                                                 case 3:
  39.                                                                                         $newheight=100;
  40.                                                                                         $ratio= $newheight / $height;
  41.                                                                                         $newwidth = round($width * $ratio);
  42.                                                                                         $newimage = $newwidth."x".$newheight;
  43.                                                                                 break;
  44.                                                                                 case 2:
  45.                                                                                         $newwidth=100;
  46.                                                                                         $ratio=$newwidth / $width;
  47.                                                                                         $newheight=$height * $ratio;
  48.                                                                                         $newimage = $newwidth."x".$newheight;
  49.                                                                                 break;
  50.                                                                                         }
  51.                                                                                        
  52.                                                                         switch ($type)
  53.                                                                                 {case 'image/jpeg':
  54.                                                                                         $img = imagecreatefromjpeg( $temp );
  55.                                                                                         $thumb = imagecreatetruecolor( $newwidth, $newheight );
  56.                                                                                         imagecopyresized($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  57.                                                                                         imagejpeg ( $thumb, $thumbdir.$uniqid.".jpg",100);
  58.                                                                                         echo "Ваш файл был загружен со следующими параметрами:<br>Ширина ".$width." пикселей <br>Высота ".$height." пикселей <br><br>и приобразован в: ".$newimage."<br><br>
  59. ";
  60.                                                                                 break;
  61.  
  62.                                                                                         }
  63.                                                                                                 $ogede = $uploaddir.$uniqid.".jpg";
  64.                                                                                                 $gede = $thumbdir.$uniqid.".jpg";
  65.                                                                                                 $tes = "INSERT INTO generals_partners (pic1,pic2,title,link) VALUES ('".$gede."','".$ogede."','".$title."','".$link."')";
  66.                                                                                                
  67.                                                                                 $res = mysql_query($tes);
  68.                                                  if($res) echo "Файл упешно загружен, загрузите еще!";
  69.                                         else echo "Путь не добавлен в базу данных, но файл загружен ".mysql_error().$about.$link.$city_array;
  70.                                                         }
  71.                                                         else echo "Качество файла удручает и печалит, а клиентов отпугнет, подищите пожалуйсто изображение более лучшего качества";
  72.                                                 }
  73.                                                 else echo "Не получен размер изображения";
  74.                                         }
  75.                                         else echo"Произошла ошибка с наречением файла новым именем :'(";
  76.                                 }
  77.                                 else echo "Файл не занесен в каталог с новым именем";
  78.                         }
  79.                 else echo "Файл не загружен";  
  80.                 }
  81.         }
  82.         else echo "Неверное расширение файла, Загружать можно только фото (формата jpg)";


Но на данный момент у меня поднялся вопрос, превратить изображение в черно-белое, тобиш в первом коде, загружается картинка, далее она загружается в папку (original), также создается уменьшена копия, и также копируется в директорию (thumb), моя задача что бы урезанная картинка дублировалась в директорию к примеру (blackwithwhite) и там преобразовывалась в черно-белый вариант.

Я также нашел один из способов вот код:
PHP:
скопировать код в буфер обмена
  1. $image = imagecreatefrompng($img_src);
  2. imagefilter($image, IMG_FILTER_GRAYSCALE);
  3. imagepng($image,'result.png' );
  4. imagedestroy($image);

( источник - http://js-php[dot]ru/web-development[dot][dot][dot]i-php-3-sposoba/ )

$img_src это путь к исходному изображению, в моем случае если продублировать урезанный вариант в директорию blackwithwhite и нужно указать путь к нему и пережать в черно-белый. Подскажите как склеить эти 2 кода? также приветствуются свои варианты =)

С благодарностью и уважением El Diablo.

(Отредактировано автором: 04 Октября, 2013 - 13:17:21)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB