Рецепт №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.