Различные варианты ресайза изображения

Тема в разделе "PHP", создана пользователем PHPCod3r, 11 янв 2012.

Модераторы: latteo
  1. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Вообщем то сабж,, не много подробней, есть картинки, разных размеров, нужно сделать их одинакового размера.
    То есть насаздавать новых картинок с четко заданными высотой и шириной.

    Какие есть варианты кроме использования библиотеки GB, или командной строки типа через exec системными вызовами изменять размеры картинок.
     
  2. cmd

    cmd Создатель

    Регистр.:
    24 авг 2011
    Сообщения:
    25
    Симпатии:
    2
    А что, собственно говоря, Вам нужно реализовать?
    Не совсем понятно... И extension'ы не устраивают и методы ОС не устраивают?
    Средствами PHP реализовать не получится, а если получится то только написав свой extension.
     
  3. masteroff

    masteroff Писатель

    Регистр.:
    23 июн 2008
    Сообщения:
    5
    Симпатии:
    1
    ImageMagick - хорошая вещь, GD отдыхает, но не на всех хостингах есть это расширение php.
     
    PHPCod3r нравится это.
  4. DemanZ

    DemanZ Постоялец

    Регистр.:
    16 мар 2007
    Сообщения:
    144
    Симпатии:
    113
    ну почему же????... Давно уже есть Imagemagick (многие форумы/галлереи используют его...)
    http://php.net/manual/en/class.imagick.php
    http://php.net/manual/en/book.imagick.php
     
    PHPCod3r нравится это.
  5. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Хочется, разобраться какими способами делают ресайз картинок.
    То есть изобретать заново "колесо"(писать какие то свои экстеншены) имхо смысла особого не имеет ,
    а вот посмотреть на решения которые хоть кто то использует было бы интересно
    Пока нарисовался такой списочек:
    1. Системные вызовы.
    2. Встроенные расширения пхп
    http://www.php.net/manual/en/refs.utilspec.image.php
    Вот тут список тех которые обычно идут вместе с пхп, наверника есть еще но их на шаренных хостингах врят ли найдешь
    То есть остаются только дедики на которые можно только самому ставить расширения, а это не очень интересных
    вариант, так как хочется что бы скрипты работали как можно на большем количестве серваков.
    3. Классы на самом пхп.
    Тут пока особо ничего не нашел, может кто подскажет что?
    Но нужны не просто классы для работы с изображениями, а только те , которые хоть чуть чуть использовалисть
    в каких нить CMS или скриптах.
     
  6. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    в пхп используют библиотеки GD - есть на подавляющем большинстве хостингов, а на тех где нет - по просьбе включают
    или ImageMagick - также есть, но на более серьезных хостингах ( т.е. на хостингах стоимостью до 1 бакса в месяц скорее всего ее небудет )
    в php работают в основном лишь с ними ( если только не нужна какая-то мэго специфическая функциональность )
    ну и ImageMagick будет производительней GD

    всякие php-классы - это в 99.99% тупо обертка поверх CG or ImageMagick
     
  7. Mr.Perfect

    Mr.Perfect Создатель

    Регистр.:
    26 ноя 2011
    Сообщения:
    16
    Симпатии:
    0
    Оно вам надо гемориться через системные вызовы?
    Самое универсальное и простое написать нужную функцию или класс с использованием GD.
    Будет работать везде,только подними php(хочется сказать добавь воды : D )
    Сам давно накидал небольшую функцию и до сих пор выручает.
     
  8. esche

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    360
    Симпатии:
    243
    Про системные вызовы - не совсем понятно, о чём речь. Полагаю, что это обращение к графическим библиотекам из консоли?..
    "Встроенные" расширения PHP вроде как тоже используют сторонние библиотеки - cairo graphics library, GraphicsMagick, gd, imagemagick и т.д.
    Итого - остаются только графические библиотеки.
    Для удобства работы с ними можно использовать как "встроенные" средства, так и классы поверх них, в которых уже реализованы типовые операции - позволит сократить объем и улучшить читаемость кода. Посмотрите WideImage, например.