Нарезаем изображение «кубиками» на PHP
Итак, задача: есть файл PNG, его нужно порезать на заданное количество «кубиков» — файлов (забегая вперед — например это нужно при создании своих карт при помощи API Яндекс-карт). В реализации этой задачи нам поможет библиотека GD, а точнее её функции
- imagecreatefrompng — создать изображение из файла
- getimagesize — дать информацию по размерам изображения из файла
- imagecreatetruecolor — создать изображение с заданными размерами
- imagecopy — скопировать часть изображения
- imagepng — сохранить изображение в файл
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function cuttingimg($fn,$sz){     $img=imagecreatefrompng("$fn);  // получаем идентификатор загруженного изрбражения которое будем резать     $info=getimagesize("$fn);                          // получаем в массив информацию об изображении     $w=$info[0];$h=$info[0];    // ширина и высота исходного изображения     $sx=round($w/$sz,0);        // длинна куска изображения     $sy=round($w/$sz,0);        // высота куска изображения     $px=0;$py=0;                // координаты шага "реза"     for ($y = 1; $y <= $sz; $y++) {                 for ($x = 1; $x <= $sz; $x++) {                          $imgcropped=imagecreatetruecolor($sx,$sy);              imagecopy($imgcropped,$img,0,0,$px,$py,$sx,$sy);              imagepng($imgcropped,"$y."-".$x."-".$fn);              $px=$px+$sx;             };             $px=0;$py=$py+$sy;                     }; }; |