Как разделить одну картинку на несколько картинок с использованием 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; / / определить высоту отдельных сегментовза ($ Col = 0; $ Col <$ number_of_cols; $ Col + +)
(за ($ строка = 0; $ строку <$ number_of_rows; $ подряд + +)
(, $col, $row ); $ FN = sprintf ( "% 02d_ IMG 02d.jpg%", $ Col, $ строка);
); //I print the image name here, so that the process shows itself as it runs эхо ( "$ FN"); / / распечатать изображение название здесь, так что этот процесс показывает, как оно работает
$ IM = @ imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ IM, $ источника, 0, 0, $ Col * $ 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 ($ IM "вставить DESTINATION здесь", 100)) / / The назначения будет нечто вроде / Главная страница / Содержание / C / H / D / фото / $ FNэхо ( "был достигнут! <br/>");
)
)
)
)
?>






















