phphleb/imageresizer

Custom image resizing

dev-master 2023-08-08 20:54 UTC

This package is auto-updated.

Last update: 2024-04-08 22:33:05 UTC


README

Библиотека предназначена для настраиваемого изменения размеров изображения. Улучшение стандартного класса.

Инициализация

use Phphleb\Imageresizer\SimpleImage;

$image = new SimpleImage();

// Путь к исходному файлу в формате JPEG, GIF, WEBP, BMP, WBMP или PNG
$image->load("/path/to/picture.jpg");

Получение данных

// Формат исходного изображения "jpeg", "gif", "webp", "bmp", "wbmp" или "png"
var_dump($image->getImageFormat());
// Ширина в пикселах
var_dump($image->getWidth());
// Высота в пикселах
var_dump($image->getHeight());
// Путь до исходного файла 
var_dump($image->getFilePath());
// Получение данных изображения для включения в другое
$image->getImage();

Изменение размеров

// В пикселах по ширине
$image->resizeToWidth(650);
// В пикселах по высоте
$image->resizeToHeight(650);
// По ширине и высоте непропорционально
$image->resize(400, 200);
// В процентах
$image->scale(50);
// По центру с обрезанием по меньшей стороне
$image->resizeInCenter(100, 200);
// По центру без обрезания (прозрачный фон для PNG)
$image->resizeAllInCenter(128, 200);
// По центру без обрезания (задается цвет фона для всех типов изображений)
$image->resizeAllInCenter(128, 200, "#ffc025");
// По центру без обрезания (задается цвет фона в формате RGB)
$image->resizeAllInCenter(128, 200, $image->addRgbColor(115, 70, 188));

Кадрирование области

// Кадрирование без изменения масштаба (ширина и высота, отступ слева, отступ сверху)
$image->cropBySelectedRegion(500, 300, 10, 15);

Вывод изображения в браузер

header("Content-type: image/jpeg");
$image->output();

или

header("Content-type: image/png");
$image->output("png");

Сохранение в файл

// В тот же файл
$image->save("/path/to/picture.jpg", "jpeg");
// С другим расширением и названием
$image->save("/path/to/picture2.png", "png");
// Изменение исходного jpeg-изображения с указанием сжатия для JPEG
$image->save($image->getFilePath(), "jpeg", 80);

Проверка

Проверки не подавляют стандартный вывод ошибок PHP

//  Инициализация загруженного изображения
if ($image->load("/path/to/picture.jpg")){
	// success
} else {
	// error 
}
// При выводе в браузер
if ($image->output("gif")){
	// success
} else {
	// error 
}
// При сохранении изображения
if ($image->save("/path/to/picture.jpg", "jpeg")){
	// success
} else {
	// error 
}

PHP