Создание отзывчивых миниатюр из загруженных изображений
При работе с пользовательскими загруженными изображениями создание отзывчивых миниатюр имеет решающее значение для улучшения пользовательского опыта и поддержания производительности сайта. В этом руководстве рассматривается задача генерации миниатюр при сохранении исходного качества изображения.
создание миниатюр с помощью PHP
PHP предоставляет диапазон функций манипуляции с изображением, включая ImageCopyresized (). Чтобы создать миниатюру из загруженного изображения, выполните следующие действия:
- извлечь исходное изображение: getImagesize (), чтобы получить исходные размеры изображения и тип MIME. Pixels).
- создать новый ресурс изображения: установить новый ресурс изображения с использованием ImageCreateTrueColor ().
- Изменить изображение: Использование ImageCopyresized (), чтобы спустить первоначальное изображение в соответствии с миром. Размеры.
- Сохранить миниатюр: Использование ImageJpeg () или imagePng () для сохранения миниатюр в желаемом месте.
- сохранение оригинального качества изображения
для поддержания качества изображения, используя качество изображения в изображении. ImagePng (). Этот параметр варьируется от 0 до 100, с более высоким значением, указывающим лучшее качество.
Использование ImageMagick
ImageMagick - более надежная библиотека манипуляций с изображениями. Если установлен на вашем сервере, вы можете использовать его класс Imagick для генерации миниатюр. Path.
установить свойства изображения:
настройка формата изображения, сжатие и качество с использованием методов класса.
- примере кода с созданием миниатюр
- Вот пример образа ImageUpload.php, измененный, чтобы включить миниатюрную генерацию: ...
if (isset ($ _ files ['image_data'])) {
if (is_uploaded_file ($ _ files ['image_data'] ['tmp_name'])) {
// Оригинальная обработка изображений
$ imgdata = addslashes (file_get_contents ($ _ files ['image_data'] ['tmp_name']));
// генерация миниатюры
if (generatethumbnail ($ _ files ['image_data'] ['tmp_name'], 100, 100, 90)) {
$ thumbdata = addslashes (file_get_contents ($ _ files ['image_data'] ['tmp_name']. '_thumb.jpg'));
// вставить оригинальные и миниатюрные изображения в базу данных
$ sql = "Обновление пользователей set user_pic = '". $ imgdata. "', user_pic_small = '". Суффикс.
- , реализуя эти методы, вы можете достичь как отзывчивого создания миниатюры, так и сохранения исходного качества изображения. ]