Я в курсе про canvas в веб. Но во первых на npm есть модуль canvas, а во вторых прикол в том, что тут этот модуль запускают на Nodejs.
Не понятно только как тогда он без ошибок у них запускается, а у меня выдал это.
Valeron Sergeev, в imagick такого нет, однако он зато жрёт всю память озу у сервера. И естественно 8 из 10 запросов к скрипту просто зависают и выдают 404 через некоторое время. А free -h на сервере выдаёт 0mb free memory :)
Я в полном ступоре, как быть и как создать хорошую анимацию как Imagick но не тратя столько ресурсов как это делает GIFEncoder.class.php основанный на GD.
crt.php рядом с папкой gifendec в которой лежит vendor index.php получается рядом с папкой vendor, там все use вводятся без ошибки, а если писать в crt.php, то даже с require_once 'gifendec/vendor/autoload.php' все use сразу в PhpStorm подчеркиваются ненайденными а при запуске php вылетает в ошибку.
Valeron Sergeev, ага. Вот например тут эффект не так явно видно, но принцип такой же. https://gifyu.com/image/vtYd
У 2 картинки оранжевый фон начинает моргать при анимации, похожее я вроде замечал если делаешь оптимизацию гиф и там похожие цвета усредняются или что то вроде этого, и получается такой эффект. Однако тут не нашел параметра, который бы включал или выключал эту оптимизацию. В итоге некоторые элементы в анимации просто становятся глюченными и мерцают как в сломанном ТВ :)
Valeron Sergeev, разобрался в чем была проблема. Но в итоге на GD при помощи GIFEncoder.class анимация действительно создаётся быстро, однако в анимации появляются дефекты, в виде морганий цвета, что делает не возможным использование. Так как такой результат анимации с моргающей палитрой цвета это уж совсем не то :)
Как вы исправляли этот дефект, не подскажите?
Valeron Sergeev, а не подскажите пример создания на GD? Нашел только пример с GIFEncoder.class, но что то на выходе он выдаёт странный результат, который после кодирования в base64 не воспринимается как GIF и js выкидывает ошибку The string to be decoded contains characters outside of the Latin1 range.
Кирилл Горелов, поэтому вот и задал вопрос, возможно кто то подскажет хорошую библу или фреймворк, или скажет что например на NodeJS такие процессы делать лучше чем на php и подскажут чем там можно собрать гиф.
Клиент и апи это точно нет, вещи с ограничениями, а апи еще и с зависимостью от сервиса.
Кирилл Горелов, извините если что) просто не понял к чему тут JS и Jquery))
Да про этот гифшот я знаю, но нужна именно серверная сборка, поэтому ищу исключительно серверные решения вопроса, так как выполнять эту процедуру на клиенте не совсем то, что нужно по ряду причин (их несколько и одна из них высокая нагрузка на клиенте).
В итоге пока только знаю о GifCreator PHP и Imagick. Первый очень быстро собирает и не тратит ресурсов, но есть косяк с цветами в кадрах, они иногда начинают мелькать, как будто были пропущены через оптимизацию с объединением похожих цветов в пикселях.
А Imagick при сборке тупо сжирает 200+ мб озу и ложил процесс php и 1 из 10 запросов увенчивались успехом. Однако гифка создаётся высокого качества - прям идеал.
В итоге встал вопрос либо искать что то другое или пробовать другую платформу например NodeJS либо может как то выяснить почему Imagick жрет столько памяти, или как убрать у GifCreator эту оптимизацию с цветами, которую я не смог найти в исходниках, поэтому до сих пор не понимаю откуда эти глюки.
вы вопрос то читали?)) собрать анимацию из кадров на серверной стороне, вопрос в выборе платформы и фреймворка\библы для сбора гифки.
Причем тут анимация dom элементов?
Valeron Sergeev, на хабре часто слышу что GD вообще считается самой жрущей память. Поэтому даже не рассматривал такой вариант. Не уж то в сборке анимации GD выигрывает по скорости и затратам озу?
xmoonlight, что по вашему является пиаром? и в чем вообще суть претензии то я не пойму? это что площадка для фриланса или заработка и у меня есть портфолио, телефон или сайт для связи?
Я здесь кроме как поиска ответов на свои вопросы по программированию или настройки сервера, ничего и не делаю.
По поводу слежения - пожалуйста, просто ваши претензии имеют очень странную логику ,поэтому я сильно удивлён такой реакции на обычное публикование решения на свой вопрос :)
Или как поступить?