За последние 24 часа нас посетили 18569 программистов и 1588 роботов. Сейчас ищут 1258 программистов ...

vips

Тема в разделе "Решения, алгоритмы", создана пользователем RainBowDash, 11 сен 2020.

Метки:
  1. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Пока копал варианты того как и чем можно нарезать изображение на тайлы на пыхе наткнулся на упоминание данной библиотеки , мол она в разы быстрее imagick и прочих и требует для данной операции чуть ли не на порядок меньше памяти.
    К сожалению так и не смог найти адекватных примеров с вариантом развития , что модуль стоит как часть php , а не через компосеры там всякие прикручен.
    На попытки каким либо образом вызвать функции для работы с изображением после его получения с помощью
    Код (Text):
    1. $im = vips_image_new_from_file('картиночка.png');
    Ругается что функция не существует или че то там про массив, так и не понял к чему он это.

    Интересует как получить результат работы как во втором ответе на стаковерфлоу .
    Просто получается не понятое что то , то ли этой библиотеке надо ещё что то для работы , то ли я как то неправильно пытаюсь вызвать функции для работы с изображением. Не нашел толковых фагов именно по PHP.
    Пробывал что то в духе:
    Код (Text):
    1. $im->writeToFile("123.png"); // даже это не работает
    2.  
    3. $im->dzsave('folder' , ["overlap" => 0, "tile-size" => 256, "depth" => "one"]);
    Пробывал и аналогии по типу vips_блаблафункция, метод научного тыка жи...
    При этом на функция vips_image_new_from_file походу реально массив отдает , зачем и нахрена мне не известно.
    Скорее всего проблема в том что я пытаюсь юзать это на шареде , но блин, вроде с php 7.1 все что нужно для vips вшито в пых , а на хотинге стоит 7.4 и данная библиотека включена в настройках и выдает своё наличие через phpinfo.

    [​IMG]
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.853
    Симпатии:
    748
    Адрес:
    Татарстан
    попробуйте самый верный и просто метод - метод чтения документации.
    Там и про установку все написано, и функции описаны, и примеры есть...
    а если пальцем в ж.... тыкать - ничего от этого хорошего не станет, кроме того что ж... станет красной и сильно огорченной, и может потом вас г... замарать ))))
     
    RainBowDash нравится это.
  3. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Про установку мне не сильно интересно , но да , вы правы , там есть некоторая полезная информация. Просто первое на что я наткнулся это на полтора якобы готовых примера и взял их за идеал. Скорее из-за этого и получил столько разногласий у себя в голове.
    Я сувался в какую то документацию вроде как официальную , но там чет онли питон был и не получилось провести никаких аналогий, а про то где начиналось с установки я видимо сразу скипнул, так как ну не нужно мне оно было. Хотелось найти пример работы , обычно их вагон и маленькая тележка, да и либа вроде как ни разу не суперновая.
     
  4. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Наверное будет кощунством не закинуть сюда правильный вариант.
    Код (Text):
    1. $im = vips_image_new_from_file('./big_image.png', ['access' => 'sequential'])["out"];
    2. vips_call('dzsave', $im, './folder', ["overlap" => 0, "tile-size" => 256, "depth" => "one"]);
     
    Sail нравится это.