-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Капризная картинка #3
Comments
здравствуйте |
Я сам бился над этим вопросом не одну неделю. Но не хватает знаний в области работы с изображениями, чтобы довести до ума это "почти нереализуемое" дело. Вся надежда теперь на вас) Спасибо за ответ) Буду ждать |
здравствуйте он передается последним параметром, и на примере отключен.........просто установите его, примерно так..... $nGif->resize("../image/dst1.gif",180,180,1,1); вот и все |
Ресемплинг использовал, качество улучшается, но к сожалению, половину картинок это приводит в негодный вид, начинаются эффекты а-ля "испорченный телевизор". Другими словами: одно лечит, другое калечит, и искалеченных картинок в этом случае оказывается чуть ли не половина Использовал, к примеру, Gifresizer от Taha Paksu: http://www.phpclasses.org/package/7353-PHP-Resize-animations-in-files-of-the-GIF-format.html
Из других способов:
Есть ещё некая библиотека под названием Imagine, и из их обсуждений следует, что там добавлена поддержка ресайза анимаций: php-imagine/Imagine#213 Все сейчас уже не вспомню, потому что было это в начале лета, и я искал все возможные библиотеки для ресайза через GD, которые смог через гугл найти, как по английским ключевым словам, так и по русским. Но у всех у них примерно те же недостатки в различных комбинациях. И ни в одном случае мне так и не удалось сделать imagecreatetruecolor вместо imagecreate, потому что с imagecreate получаются довольно низкокачественные копии по сравнению с оригиналом, а если использовать imagecreatetruecolor, то начинаются жуткие баги с палитрой, прозрачностью и вообще с графикой во многих изображениях. Недавно сохранил себе некоторые статьи по этим вопросам, но пока так и не проверял: |
Почему бы не отказаться от "кривой" GD в пользу, скажем ImageMagick? |
почему не ImageMagick, потому что было поставлено условие ресайзить стандартными средствами отказавшись от внешних модулей, если вы без проблем можете подключить ImageMagick то вот ссылка на класс ресайза через ImageMagick https://gist.github.com/makoni/1080919 19.10.2013, 03:55, "vpArth" notifications@github.com:
|
Насколько я знаю, для ImageMagick вообще не нужны классы, т.к. ресайз gif-анимаций там работает по умолчанию. |
насколько я знаю (по крайней мере несколько последних лет точно были нужны, может сейчас что то поменялось, не знаю не слежу) 19.10.2013, 13:47, "MasterShredder" notifications@github.com:
|
К сожалению, более половины картинок разрушаются из моего тестового набора. Приложил весь набор в архиве. Потестируйте сами, если будет возможность. |
все оттестил все нормально работает, используйте последнюю версию класса а также посмотрите на связку php + gd (версия, коректность настройки/установки) 14.12.2013, 11:06, "MasterShredder" notifications@github.com:
|
Версия последняя - 1.07. Уже по-всякому пробовал - рубит половину картинок при ресемплинге... Настройки и информация о php+gd ниже. Что ещё можете посоветовать? PHP Version 5.4.4-14+deb7u7 GD Support enabled gd.jpeg_ignore_warning 0 0 |
Так, проверил на другом сервере, ресемплинг работает корректно (по крайней мере, без искажений палитры). Параметры сервера ниже. Что можете сказать по предыдущим параметрам (см. предыдущий пост), почему там искажается палитра? PHP Version 5.2.10 GD Support enabled |
тут можно только догадываться, но изначальная разработка была под библиотеку GD версии 2.0.34, что собственно и написано в паспорте класса, с последующим тестом под версию 2.1.0............. та том сервере где рубит картинки в GD версия 2.0 (если вы точно указали), возможно в этом проблема, другой проблемы лично я не вижу, но я в этом (настройки всей связки PHP) не эксперт 15.12.2013, 11:46, "MasterShredder" notifications@github.com:
|
Проверил ещё на одном сервере с версией GD 2.0.34 - норм. Да, похоже что дело в этом. По поводу проблемной картинки (shaft.gif): это реально побороть? |
|
|
проанализировал вашу "идеальную" картинку, что сказать ImageMagick убил всю оптимизацию, теперь это набор сплошных фреймов (увсех один размер), ваша картинка занимает 220 кб, аналогичная из Ulead Gif Animator занимает 100, через мой класс 120 (с не включенным ресемплингом, с включенным будет немного больше но все же не 220), другими словами ровняться буду на Ulead Gif Animator, уже есть некоторые варианты как обойти данный косяк 04.01.2014, 04:22, "MasterShredder" notifications@github.com:
|
посмотрите внимательно (я не эксперт в ImageMagick, просто догадка), может вы не те настройки выставили в ImageMagick, что он такие объемные файлы формирует |
Я тоже в ней не эксперт, сервер не мой, а админ не менее капризный, чем эта картинка, поэтому, что он там навыставлял - известно лишь одному ему) Но обычно он ничего не меняет, и вроде бы и на других серверах был такой же большой размер, т.е. ImageMagick делает так по-стандарту. |
Данная картинка пока единственная из всего моего набора тестовых картинок, которая создаётся с глюком
Оригинал:

После ресайза (см. в левом верхнем углу):

The text was updated successfully, but these errors were encountered: