Завантаження GIF із збереженням анімації!
Безкоштовні розширення з каталогу
Прямий ефір
- Блог розробки LiveStreet132.73
- Сайти на LiveStreet121.49
- Запитання78.96
- Додаткові модулі та доробки для LiveStreet73.21
- Технічна документація LiveStreet68.62
- Tips & tricks60.64
- Біржа замовлень на розробку та підтримку за гроші56.28
- Пропозиції та побажання46.04
- Шаблони для LiveStreet38.75
- Вирішення проблем28.89
Варіант 1 — Якщо ви не використовуєте ватермарки та заокруглення кутів
Все дуже просто і легко дайте карми викласти це tips&trics
Відкриваємо файл\engine\modules\image\Image.class.php
Біжимо поглядом по коду до цього місця (приблизно рядок 148) або шукаємо зверху за фразою «iWidthDest»
Тепер словами проговоримо логіку цього шматка (там нижче в коді подивіться що відбувається і відразу все зрозумієте):
— Якщо передано максимальну ширину картинки, то
/ * Стоп але вона передається завжди!, Навіщо стискати картинки постійно? */ -> Змінюємо умову, тепер вона звучить так:
— Якщо передана максимальна ширина картинки (посуті, завжди true) І картинка більша за максимальний розмір — тоді інакше
Сам процес
Звертаємо увагу лише на першу умову
Правимо умову щоб воно виглядало ось так
Ось і все — тепер вона «херить» усі дії, якщо картинка менша за максимальний розмір. Перестає ставити ватермарки та заокруглювати кути (бо інакше GIF перезбирається і все марно.) —Підводні камені цього методу «rarjpeg» та інші хитрощі користувачів аж до знищення вашої системи через дірку в PHP(Десь писали вже про це на хабре), але це не зрівняється з радістю при зарузке смішних картинок!
P.S. Можна перевіряти не тільки максимальну_ширину, але й тип файлу або навіть визначати анімована gif-ка чи ні (на сайті php валяється приклад) і т.д.
Варіант 2 - Ідея futubra.com
- Можна завантажувати оригінальний GIF-файл (дописувати в кінець імені щось типу "_orig"), робити його копію і в нашому випадку залишати в ньому тільки перший кадр, а при натисканні на файл підвантажувати оригінальне зображення на місце цього, робити це можна через javascript наприклад Навіяна вся ця справа ось цим: futubra.com/posts/467325 У них походу, URL оригінальної картинки передається через alt, ось код:
Обробник поки не розкопав але думаю ідея правильна з фоновим підвантаженням зображення та заміщенням src у прозвищі.
— Ось така ось ідея, і вовки ситі та вівці цілі
— ми знаємо до якого розміру треба стискати картки для постів (у мене це 700 пікс., тема social-jquery) зазвичай 635 пікс., але щоб не гадати будемо чіпляти це значення прямо з конфіга і перевіряти якщо картинку треба стиснути до цього розміру — значить ця картинка вставляється в пост і треба далі перевірити її - чи варто її стискати взагалі чи ні, інакше (необхідний розмір явно менше, ніж значення в конфізі) означає вантажимо щось інше -> примусово стискаємо!
Ось сам код його треба вставити знову в ту умову