Автоматическое изменение размера изображения для вывода в редакторе WYSIWYG?


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

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

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

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

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

Author: Pekka 웃, 2010-04-09

2 answers

Попробуйте использовать этот размер изображения: 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 файл и затем он сгенерирует для него файл кэша, пожалуйста, убедитесь, что ваше разрешение на папку изображений готово для выполнения и изменения.

 2
Author: Nazmin, 2010-04-19 08:24:02

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

 0
Author: mihan007, 2010-04-09 13:23:28