Как разделить одно изображение на несколько изображений с помощью PHP
Итак, вы хотите сломать одно большое изображение на несколько более мелких изображений? Без проблем. Это может показаться неясным вопрос, но Есть несколько причин вы хотели бы это сделать. Может быть, вы хотите создать визуальный раздвижные головоломки . Или, может быть, вы работаете в уникальной темы WordPress . Или, может быть, вы хотите создать коллаж какой-то. Это действительно не имеет значения, почему вы хотите разделить изображение на более мелкие изображения, PHP, делают эту задачу легко. Приведенном ниже примере рассматриваются только JPEG. Изменение функции для борьбы с другими типами изображений не будет так уж трудно.
<? PHP
/ / Эта функция будет разделить образ на несколько одинаковых по размеру столбцов и строк.
Функция split_image ($ number_of_rows, $ number_of_cols, $ path_to_image, $ имя_файла) (
/ / $ = # Number_of_rows строк вы хотите;
/ / $ = # Number_of_cols в столбиках вы хотите
/ / $ Path_to_image = путь к папке, изображение в что-то вроде: / Главная / содержание / имя пользователя / HTML / список / добавления /
/ / $ = Имя_файла имя файла изображения: archery.jpg и т.д.
/ / Проанализировать пути расширения
$file_name); Информация $ = pathinfo ($ path_to_image. $ Имя_файла);
/ / Убедитесь, что мы имеем дело с JPEG
($info[ 'extension' ]) == 'jpg' ) || ( strtolower ($info[ 'extension' ]) == 'jpeg' ) ){ если ((strtolower ($ информацию "расширение [']) ==' JPG ') | | (strtolower ($ Информация расширение'] [) == 'JPEG')) (
/ / Изображений нагрузки и получить размер изображения
); $ = Источник imagecreatefromjpeg ("($ path_to_image) ($) имя_файла");
$ Ширина = imagesx ($ источника); / / Найти ширина
$ Высота = imagesy ($ источника); / / Найти высоте
$ = $ Segment_width ширина / $ number_of_cols / / Определение ширины отдельных сегментов
$ = $ Segment_height высота / $ number_of_rows / / Определить высоту отдельных сегментовдля ($ коллег = 0, $ коллег <$ number_of_cols, $ коллег + +)
(для ($ строки = 0, $ строку <$ number_of_rows, $ строки + +)
(, $col, $row ); $ / П = sprintf ("IMG% 02d_ 02d.jpg%", $ коллег, $ подряд);
); //I print the image name here, so that the process shows itself as it runs эхо ("$ / п"); / / напечатать имя изображения здесь, так что этот процесс проявляется как она работает
$ = @ Им imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ им, $ источника, 0, 0, $ * $ коллег segment_width, $ * $ строки segment_height, $ segment_width, $ segment_height, $ segment_width, $ segment_height);
$ Файл = "test.jpg";
/ / Сохранение изображений
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn если (imagejpeg ($ им, "INSERT НАЗНАЧЕНИЯ здесь", 100)) / / назначения будет нечто вроде / Главная / содержание / с / г / изображения / $ / пэхо ("был достигнут! <br/>");
)
)
)
)
?>








































