The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Image Magick + php + FreeBSD"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Image Magick + php + FreeBSD"  +/
Сообщение от Viktor F email(ok) on 11-Июл-09, 15:38 
Доброго времени суток. Вкратце опишу свою проблему:
Недавно написал небольшой скриптик, который при помощи php и модуля imagick обрабатывает определённое изображение.
Задачи у него такие:
1) Узнать разрешение фотографии используя getImageWidth() и getImageHeight() и сохранить их в переменных(Это пригождается для того чтобы узнать вертикальный кадр или горизонтальный).
2) Переразбить оригинал фотографии до определённого разрешения, допустим(800x533)
3) Сжать переразбитое изображение используя setCompressionQuality()
4) Сохранить сжатое изображение в определённый каталог.
Протестил его на Windows платформе и всё работало как надо.
После этого теста настроил Imagick на FreeBSD и попробовал тот же самый скрипт на данной платформе. Результаты обработки оказались совсем другие.
Покапался и выяснил что пункты 1,2 и 4 работают нормально а вот setCompressionQuality() не давало никаких результатов. Даже после того как я его исключал из кода фотография получалась такого же качества.
Может быть кто сталкивался с такой проблемой?
В кратце скрипт выглядит так:

    $photo_server_path="./IMG_9019.JPG";
        /* Создаём объёкт Imagick */
    $image = new Imagick($photo_server_path);
        /* Получаем парамеры ширины и высоты */
    $height=$image->getImageHeight();
    $width=$image->getImageWidth();
        /* Если кадр горизонтальный, то делаем ресайз разрешения 800x533 и наоборот */
    if ( $width > $height)
        {
            $image->thumbnailImage(800, 533
        }
    else {
            $image->thumbnailImage(533, 800
        }
        /* Сжимаем фотографию */
    $image->setCompressionQuality(75);
        /* Добавляем немного контрастности */
    $image->contrastImage(1);

        /* Сохраняем в файл */                        
    $image->writeImage('./FILTER_BOX.JPG');

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Image Magick + php + FreeBSD"  +/
Сообщение от ACCA (ok) on 11-Июл-09, 21:08 
> $photo_server_path="./IMG_9019.JPG";
>  /* Создаём объёкт Imagick */
> $image = new Imagick($photo_server_path);

$image->thumbnailImage(533, 533, true);

>  /* Добавляем немного контрастности */
>    $image->contrastImage(1);
>  /* Сжимаем фотографию */

$image->setCompression(imagick::COMPRESSION_JPEG);

>    $image->setCompressionQuality(75);
>
>  /* Сохраняем в файл */
>    $image->writeImage('./FILTER_BOX.JPG');

Side note:
ImageMagick слишком медленный для получения thumbnails. Если в каталоге тысячи фотографий, ждать придётся часами.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру