Автоматическое изменение размера изображения для вывода WYSIWYG Editor? - PullRequest
4 голосов
/ 09 апреля 2010

Распространенная проблема при создании систем управления контентом для конечных пользователей с использованием WYSIWYG-редакторов, таких как CKEditor , заключается в том, что пользователи могут загружать изображения в редактор, встраивать их, а затем изменять их размер.

После сохранения содержимого встроенные (исходные) URL-адреса изображений необходимо заменить соответствующими им по размеру. Представьте себе фотографию 3000 x 3000, загруженную пользователем, с ручным изменением размера в редакторе WYSIWYG до 300 x 300 пикселей - ее необходимо автоматически изменить, чтобы предотвратить загрузку огромного исходного файла.

Задача довольно проста, и я реализовал ее несколько раз (хотя и с помощью регулярных выражений, поэтому я ищу замену :) - пройтись по DOM, найти изображения, посмотреть, размер исходного файла изображения отличается от указанного в теге img, и, если это так, замените исходное изображение автоматически изменяемым.

На этом пути есть несколько небольших причуд (некоторые редакторы WYWSIYG предпочитают использовать width="300", другие - width: 300px CSS-версию и т. Д.).

У меня вопрос: есть ли готовое высококачественное PHP-решение, которое делает это хорошо и учитывает причуды?

Ответы [ 2 ]

2 голосов
/ 19 апреля 2010

Попробуйте использовать этот размер изображения: http://shiftingpixel.com/2008/03/03/smart-image-resizer/

Я использую это в своей разработке, вы можете загрузить свой файл изображения и создать файл кэша на основе любого размера или обрезанной части для оптимальной производительности без фактического изменения исходного файла изображения.

пример:

<img src="/image.php/coffee-bean.jpg?width=200&amp;height=200&amp;image=/wp-content/uploads/2008/03/coffee-bean.jpg" alt="Coffee Bean" />

Вы можете скачать файл image.php на сайте, о котором я упоминал выше, и передать имя целевого изображения в качестве параметров в файл image.php, а затем он сгенерирует кеш-файл для него, пожалуйста, убедитесь, что у вас есть разрешение на доступ к папке с изображениями. для исполнения и переделки.

0 голосов
/ 09 апреля 2010

как для меня: я использую редактор tinymce с установленным плагином ImageManager .поэтому в config php вы можете настроить размер выходных миниатюр.и если загруженное изображение больше этого размера, вы увидите маленький большой палец (стиль css для измененного размера вы также можете настроить, чтобы вы могли использовать некоторые плагины jquery для показа большого изображения. как ThickBox)

...