Для работы с изображением создайте экземпляр класса, передав в его фабричный метод путь к файлу изображения, например:
$image = waImage::factory($path); $image->rotate(90);
Методы
-
crop
Вырезает фрагмент изображения.
-
factory
Возвращает экземпляр класса
waImage
для обработки указанного графического файла. -
filter
Применяет фильтр к изображению.
-
fixImageOrientation
Восстанавливает ориентацию изображения согласно его EXIF-данным.
-
getExt
Возвращает расширение имени графического файла, соответствующее его типу.
-
getPixel
Возвращает информацию об указанном пикселе изображения.
-
isWebpSupported
Проверяет поддержку формата WebP.
-
resize
Выполняет масштабирование изображения.
-
rotate
Выполняет поворот изображения.
-
save
Сохраняет изображение с указанным уровнем качества в файл.
-
sharpen
Применяет фильтр резкости к изображению.
-
watermark
Накладывает водяной знак на изображение.
public function crop ($width, $height, $offset_x = self::CENTER, $offset_y = self::CENTER, $deny_exceed_original_sizes = true)
Вырезает фрагмент изображения.
Параметры
-
$width
Ширина вырезаемой части изображения.
-
$height
Высота вырезаемой части изображения.
-
$offset_x
Смещение вырезаемой части вправо относительно левой границы исходного изображения в пикселях. Если не указано, будет вырезана центральная часть изображения.
-
$offset_y
Смещение вырезаемой части вниз относительно верхней границы исходного изображения в пикселях. Если не указано, будет вырезана центральная часть изображения.
-
$deny_exceed_original_sizes
Флаг, позволяющий размерам вырезаемой части превышать размеры исходного изображения. Если не указано, по умолчанию используется значение true.
Пример
$image = waImage::factory($image_path); $image->crop(100, 100);
public static function factory ($file, $adapter = false)
Возвращает экземпляр класса waImage
для обработки указанного графического файла.
Параметры
-
$file
Путь к графическому файлу, окторый необходимо обработать.
Пример
$image = waImage::factory($image_path);
//здесь можно вызывать публичные методы объекта $image
для обработки указанного изображения
public function filter ($type, $params = [])
Применяет графический фильтр к изображению.
Параметры
-
$type
Тип фильтра. Допустимые строковые значения:
FILTER_GRAYSCALE
: черно-белая гаммаFILTER_SEPIA
: сепияFILTER_CONTRAST
: контрастFILTER_BRIGHTNESS
: яркость
-
$params
Ассоциативный массив параметров для наложения фильтров
CONTRAST
иBRIGHTNESS
со следующими ключами:level
: целочисленное значение степени воздействия фильтра от 1 до 100. Если не указано, по умолчанию используется значение 3.
Пример
$image = waImage::factory($image_path); $image->filter('CONTRAST', ['level' => 15]);
public function fixImageOrientation()
Восстанавливает ориентацию изображения согласно его EXIF-данным.
Пример
$image = new waImage($image_path); $image->fixImageOrientation();
public function getExt()
Возвращает расширение имени графического файла, соответствующее его типу.
Пример
$image = new waImage($jpeg_image_path); echo $image->getExt();
Результат
jpg
public function resize ($width = null, $height = null, $master = null, $deny_exceed_original_sizes = true)
Выполняет масштабирование изображения.
Параметры
-
$width
Требуемая ширина изображения.
-
$height
Требуемая высота изображения.
-
$master
Строковый параметр, указывающий, относительно какой стороны изображения (ширины либо высоты) необходимо рассчитывать размеры другой стороны. Если не указано, то по умолчанию используется значение AUTO. Допустимые значения:
NONE
: если не указано значение для параметра$width
, то при использованииNONE
ширина требуемого изображения будет равна ширине исходного изображения; если не указано значение для параметра$height
, то при использованииNONE
высота требуемого изображения будет равна высоте исходного изображения.AUTO
: если отношение исходной ширины изображения к требуемой ширине больше отношения исходной высоты изображения к требуемой высоте, то в качестве значения параметра$master
используетсяWIDTH
; в противном случае используетсяHEIGHT
.INVERSE
: если отношение исходной ширины изображения к требуемой ширине больше отношения исходной высоты изображения к требуемой высоте, то в качестве значения параметра$master
используетсяHEIGHT
; в противном случае используетсяWIDTH
.WIDTH
: высота требуемого изображения вычисляется исходя из ширины исходного изображения с сохранением пропорций; указанное значение$height
игнорируется.HEIGHT
: ширина требуемого изображения вычисляется исходя из высоты исходного изображения с сохранением пропорций указанное значение$width
игнорируется.
-
$deny_exceed_original_sizes
Флаг, позволяющий полученному изображению иметь размеры, превышающие размеры исходного изображения. Если не указано, по умолчанию используется значение true.
Пример
$image = waImage::factory($image_path); $image->resize(100, 150, 'HEIGHT');
public function rotate ($degrees)
Выполняет поворот изображения.
Параметры
-
$degrees
Целочисленное значение угла поворота в градусах. Диапазон допустимых значений: от -360 до 360. Положительный угол обозначает поворот по часовой стрелке, отрицательный — против часовой стрелки.
Пример
$image = waImage::factory($image_path); $image->rotate(90);
public function save ($file = null, $quality = 100)
Сохраняет изображение с указанным уровнем качества в файл.
Параметры
-
$file
Путь, по которому должен быть сохранен файл с изображением. Если не указано, то изображенение будет сохранено в исходный файл.
-
$quality
Целочисленное значение качества сохраняемого изображения. Диапазон допустимых значений: от 1 (наихудшее качество) до 100 (наилучшее качество — значение по умолчанию).
Пример
$image = waImage::factory($image_path); // здесь можно вызывать методы обработки изображения, // после чего сохранить обработанное изображение в файл $image->save(null, 85);
public function sharpen ($amount)
Применяет фильтр резкости к изображению.
Параметры
-
$amount
Степень воздействия фильтра. Диапазон допустимых значений: от 1 до 100. Допускаются целочисленные и дробные значения.
Пример
$image = waImage::factory($image_path); $image->sharpen(15);
public function watermark ($options)
Накладывает водяной знак на изображение.
Параметры
-
$options
Ассоциативный массив параметров наложения водяного знака со следующими ключами:
watermark
: экземпляр классаwaImage
, содержащий информацию об изображении, либо текстовая строка.opacity
: дробное значение непрозрачности водяного знака от 0 до 1. Максимальная прозрачность — 0. Если не указано, используется значение по умолчанию 0.3.align
: строковое значение выравнивания водяного знака относительно исходного изображения (значение по умолчанию — ALIGN_TOP_LEFT). Допустимые значения:ALIGN_TOP_LEFT
: верхний левый уголALIGN_TOP_RIGHT
: верхний правый уголALIGN_BOTTOM_LEFT
: нижний левый уголALIGN_BOTTOM_RIGHT
: нижний правый угол
font_file
: путь к файлу шрифта. Если значение не указано либо файл по указанному пути не найден, используется встроенный шрифт PHP по умолчанию.font_size
: размер шрифта. Если не указано, используется значение по умолчанию 14.font_color
: 6-символьное значение цвета шрифта. Если не указано, используется значение по умолчанию 000000.text_orientation
: строковое обозначение ориентации текста. Допустимые значения:VERTICAL
HORIZONTAL
: это значение используется по умолчанию, если ориентация текста не задана явно.
Пример
$image = waImage::factory($image_path); $options = [ 'watermark' => 'накладываемый текст', 'opacity' => 0.5, 'align' => 'ALIGN_BOTTOM_RIGHT', 'font_size' => '10', 'font_color' => 'ffffff', 'text_orientation' => 'VERTICAL', ]; // ниже показаны параметры наложения изображения водяного знака — вместо простого текста /* $options = [ 'watermark' => new waImage($watermark_image_path), 'opacity' => 0.3, 'align' => 'ALIGN_BOTTOM_RIGHT', ]; */ $image->watermark($options);
public static function isWebpSupported()
Проверяет поддержку формата WebP.
Пример
if (waImage::isWebpSupported()) { echo 'WebP поддерживается!'; }
public function getPixel ($x, $y)
Возвращает информацию об указанном пикселе изображения в виде массива:
- значение красного цвета;
- значение зелёного цвета;
- значение синего цвета;
- значение прозрачности.
Параметры
-
$x
Горизонтальная координата пикселя начиная от левого края.
-
$y
Вертикальная координата пикселя начиная от верхнего края.
Пример
$image = waImage::factory($path); wa_dump($image->getPixel(10, 10));
Результат
[ 0.3215686274509804, 0.32941176470588235, 0.35294117647058826, 1, ]