Работа с картинками

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 24 июл 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Здравствуйте.
    Есть картинка размером 100х120 пикселей.
    Как узнать цвет одного определенного пикселя?
    И второй вопрос.
    Есть 2 картинки одинакового размера 100х120 пикселей, как их сравнить, идентичны ли они?
     
  2. 3d tiger

    3d tiger

    Заблокирован
    Регистр.:
    14 июн 2008
    Сообщения:
    521
    Симпатии:
    370
    цвет определенного пикселя:
    PHP:
    <?php
     $x 
    15;
     
    $y 22;
     
    $image imagecreatefromstring(file_get_contents("logo.png"));
     
    extract(imagecolorsforindex($imageimagecolorat($image$x$y)), EXTR_PREFIX_ALL'cl');
    imagedestroy($image);
     
    // Нужные цвета:
     
    echo "Красный: {$cl_red}<br />Зеленый: {$cl_green}<br />Жёлтый: {$cl_blue}<br />";
     
    ?>
     
    fredis69 нравится это.
  3. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    PHP:
    if (file_get_contents("logo1.png")==file_get_contents("logo2.png")) print "Картинки идентичны"; else print "Картинки не идентичны";
     
    fredis69 нравится это.
  4. intraseo

    intraseo

    Регистр.:
    25 май 2010
    Сообщения:
    184
    Симпатии:
    22
    У меня тоже есть маленький вопросик по сортировке картинок по их размерам по разным папкам. Под размерами понимается ширина X пикселей и высота Y пикселей. Скрипт быдет распихивать картинки по условиям x<100 у<100 в папку images1, x>100 но x<300 и y>100 но y<300 в папку images2 и так далее. Принцип я думаю, понятен. Может быть у кого есть готовое решение под рукой? Поиск на форуме и в Яндексе ничего не показал.
     
  5. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    ищет картинки и сортирует по списку условий
    PHP:
    <?php
    $dir 
    './'# стартовая директория поиска картинок
    $img_mask='(.png|.gif|.jpg)'# обрабатываемые расширения

    function dir_sc($dir) { $items=glob($dir.'*'); for ($i=0;$i<count($items);$i++) {
    if (
    is_dir($items[$i])) { $add=glob($items[$i].'/*'); $items=array_merge($items,$add); } } return $items; }
    $all_files dir_sc($dir); foreach ($all_files as $file):
    if (
    is_file($file)) { if (preg_match($img_mask,strtolower($file))) {
    $size=getimagesize($file); unset($x,$y); $x=$size[0]; $y$size[1];

    # типовой блок - условия через 'AND'
    if($x<100 AND $y<100): $save_dir='./image1/'// условие и имя папки для 1 сохранения
    is_dir($save_dir) OR mkdir($save_dir); // если папки нет - создать
    $rename=str_replace('\\','/',(realpath($save_dir).'/'.basename($file))); rename($file,$rename); // перенос файла
    echo "<b>{$file}</b> {$size[3]} moved to {$save_dir}<br />\n"// log
    endif;

    # копипаст и изменение условий блока
    if($x>100 AND $x<300 AND $y>100 AND $y<300): $save_dir='./image2/';
    is_dir($save_dir) OR mkdir($save_dir);
    $rename=str_replace('\\','/',(realpath($save_dir).'/'.basename($file))); rename($file,$rename);
    echo 
    "<b>{$file}</b> {$size[3]} moved to {$save_dir}<br />\n";
    endif;


    } }
    endforeach;
    ?>
     
  6. intraseo

    intraseo

    Регистр.:
    25 май 2010
    Сообщения:
    184
    Симпатии:
    22
    Спасибо! Буду пробовать. Думал, что никто и не откликнется =)
     
Статус темы:
Закрыта.