Получение фрагмента картинки

Рецепт №89. Из книги «128 рецептов php»
Перейти к оглавлению

Рецепт наглядно показывает, как можно вырезать фрагмент изображения. Для примера используется картинка в формате jpeg, но при необходимости тоже самое можно проделать с любым другим форматом. Для получения части картинки необходимо знать координаты точки по оси X и Y, это будет верхний левый угол квадрата, который будет вырезан. Также потребуется размер вырезаемого фрагмента – ширина и высота.

Пример:

// исходное изображение
$source = "test.jpg"; 
// путь для сохранения новой картинки
$new_file = "test_new.jpg"; 
// координата по оси X, начало вырезаемого фрагмента
$x_pic = 100; 
// координата по оси Y, начало вырезаемого фрагмента
$y_pic = 50;
$width = 200; // ширина фрагмента
$height = 200; // высота фрагмента

// создаем холст с размером равным, 
// вырезаемому фрагменту
$img = imagecreatetruecolor($width, $height);
// загружаем исходную картику
$pic = imagecreatefromjpeg($source); 
// копируем на холст нужную часть картинки
imagecopy(
$img, $pic, 0, 0, $x_pic, $y_pic, $width, $height
);
// сохраняем результат
imagejpeg($img, $new_file); 
// очищаем память после выполнения скрипта
imagedestroy($img);
imagedestroy($pic);

В примере была использована функция imagecopy, которая позволяет копировать одно изображение на другое, с возможностью смещения по осям X и Y.

Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*