Завантаження 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 пікс., але щоб не гадати будемо чіпляти це значення прямо з конфіга і перевіряти якщо картинку треба стиснути до цього розміру — значить ця картинка вставляється в пост і треба далі перевірити її - чи варто її стискати взагалі чи ні, інакше (необхідний розмір явно менше, ніж значення в конфізі) означає вантажимо щось інше -> примусово стискаємо!

Ось сам код його треба вставити знову в ту умову