FotoGrid v1.0

Класс php создающий html сетку размером 3x4 из набора изображений.



Установка

Краткое описание класса

Описания фунций класса

Примеры использования

Возможные варианты сетки

Установка

Лучший способ установки это использовать composer. Просто запустите данный текст в командной строке:

composer require tessierashpool/fotogrid

Краткое описание класса

Класс php создающий html сетку размером 3x4 из набора изображений. Необходимо задать ширину сетки и передать массив из путей в файловой системе к изображениям. Высота расчитывается в зависимости от ширины сетки. Также можно установить расстояние между изображениями, которое по умолчанию равно 1px. Если не передать какой либо определенный вариант сетки для данного количества изображений, то сетка будет выбрана случайным образом.


Описание функций класса

init($width,$margin = 1) - Задает ширину сетки и растояние между рисунками.
$width - ширина в пикселях.
$margin - растояние между изображениями(по умолчанию 1px).

setDirectoryPath($path = '/fgrid') - Устанавливает основную папку в которой будут сохранятся изображения. По умолчанию изображения сохраняются в папку fgrid.
$path - путь к папке в файловой системе.

imageResizeAndSave($arImages, $gridVariant=0) - Изменяет размер изображений и сохраняет в соответствующей папке в соответствие с выбраным вариантом сетки.
$arImages - массив который содержит пути к изображениям в файловой системе.
$gridVariant - вариант сетки для данного количества изображений(по умолчаниею 0).

grid() - Создает html сетку с изображениями. Данную функцию необходимо использовать только после imageResizeAndSave(), либо после setUrlToGrid().

gridFromImgArray($arImages,$gridVariant=0) - Создает html сетку из переданного массива путей к изображениям.
$arImages - массив который содержит пути к изображениям в файловой системе.
$gridVariant - вариант сетки для данного количества изображений(по умолчаниею 0).

gridFromUrl($url) - Создает html сетку из переданного url к папке с изображениями.
$url - путь к папке с изображенияи(пример:gridFromUrl("/fgrid/720/5/9/5/12/3c/8d")).

setUrlToGrid($url) - Устанавливает url к папке с изображениями.
$url - путь к папке с изображенияи(пример:setUrlToGrid("/fgrid/720/5/9/5/12/3c/8d")).

getGridFullInfo($url='') - Возвращает массив содержащий полную информацию о сетки с изображениями. Если параметр url не задан то необходимо использовать после imageResizeAndSave() или setUrlToGrid().
$url - путь к папке с изображенияи(пример:getGridFullInfo("/fgrid/720/5/9/5/12/3c/8d")).

getAbsoluteUrl() - Возвращает url к папке с изображениями. Используется после imageResizeAndSave() или gridFromImgArray().

setWhiteList($rectNumber, $arWhiteList=array(1)) - Устанавливает массив вариантов которые будут использоваться для случайного выбора.
$rectNumber - количество изображений для которого устанавливаются варианты.
$arWhiteList - массив с вариантами для данного количества изображений.

Примеры использования

// Инициализация сетки шириной 720px и расстоянием между изображениями 1px.
use tessierashpool\fotogrid\FotoGrid;
$grid = new FotoGrid(720);

// Или можно так. Ширина сетки 800px и расстояние между изображениями 5px.
use tessierashpool\fotogrid\FotoGrid;
$grid = new FotoGrid();
$grid->init(800,5);

// Создание 2го варианта сетки из массива.
$grid->imageResizeAndSave($arImages, 2);
$grid->grid();

// Или так.
$grid->gridFromImgArray($arImages, 2);

// Создание сетки из url к папке с изображениями.
$url = $grid->imageResizeAndSave($arImages, 2);
$grid->gridFromUrl($url);

// Или так.
$grid->gridFromUrl("/fgrid/720/5/9/5/12/3c/8d");

//Устанавливаем 2й и 3й варианты сетки для 3х изображений.
$grid->arWhiteList(3,array(2,3));
                

Возможные варианты сетки

В прямоугольниках указан порядок следования изображений.

Варианты для 1го изображения:

1)
1

Варианты для 2х изображений:

1)
1
2

Варианты для 3х изображений:

1)
1
2
3
2)
1
2
3
3)
1
2
3
4)
1
2
3

Варианты для 4х изображений:

1)
1
2
3
4
2)
1
2
3
4
3)
1
2
3
4
4)
1
2
3
4
5)
1
2
3
4
6)
1
2
3
4
7)
1
2
3
4
8)
1
2
3
4
9)
1
2
3
4
10)
1
2
3
4

Варианты для 5ти изображений:

1)
1
2
3
4
5
2)
1
2
3
4
5
3)
1
2
3
4
5
4)
1
2
3
4
5
5)
1
2
3
4
5
6)
1
2
3
4
5
7)
1
2
3
4
5
8)
1
2
3
4
5
9)
1
2
3
4
5
10)
1
2
3
4
5
11)
1
2
3
4
5
12)
1
2
3
4
5
13)
1
2
3
4
5
14)
1
2
3
4
5
15)
1
2
3
4
5
16)
1
2
3
4
5
17)
1
2
3
4
5

Варианты для 6ти изображений:

1)
1
2
3
4
5
6
2)
1
2
3
4
5
6
3)
1
2
3
4
5
6
4)
1
2
3
4
5
6
5)
1
2
3
4
5
6
6)
1
2
3
4
5
6
7)
1
2
3
4
5
6
8)
1
2
3
4
5
6
9)
1
2
3
4
5
6
10)
1
2
3
4
5
6
11)
1
2
3
4
5
6
12)
1
2
3
4
5
6
13)
1
2
3
4
5
6
14)
1
2
3
4
5
6
15)
1
2
3
4
5
6
16)
1
2
3
4
5
6

Варианты для 7ми изображений:

1)
1
2
3
4
5
6
7
2)
1
2
3
4
5
6
7
3)
1
2
3
4
5
6
7
4)
1
2
3
4
5
6
7
5)
1
2
3
4
5
6
7
6)
1
2
3
4
5
6
7
7)
1
2
3
4
5
6
7
8)
1
2
3
4
5
6
7
9)
1
2
3
4
5
6
7
10)
1
2
3
4
5
6
7
11)
1
2
3
4
5
6
7
12)
1
2
3
4
5
6
7
13)
1
2
3
4
5
6
7
14)
1
2
3
4
5
6
7
15)
1
2
3
4
5
6
7
16)
1
2
3
4
5
6
7

Варианты для 8ми изображений:

1)
1
2
3
4
5
6
7
8
2)
1
2
3
4
5
6
7
8
3)
1
2
3
4
5
6
7
8
4)
1
2
3
4
5
6
7
8
5)
1
2
3
4
5
6
7
8
6)
1
2
3
4
5
6
7
8
7)
1
2
3
4
5
6
7
8
8)
1
2
3
4
5
6
7
8
9)
1
2
3
4
5
6
7
8
10)
1
2
3
4
5
6
7
8
11)
1
2
3
4
5
6
7
8
12)
1
2
3
4
5
6
7
8
13)
1
2
3
4
5
6
7
8
14)
1
2
3
4
5
6
7
8
15)
1
2
3
4
5
6
7
8

Варианты для 9ти изображений:

1)
1
2
3
4
5
6
7
8
9
2)
1
2
3
4
5
6
7
8
9
3)
1
2
3
4
5
6
7
8
9
4)
1
2
3
4
5
6
7
8
9
5)
1
2
3
4
5
6
7
8
9
6)
1
2
3
4
5
6
7
8
9
7)
1
2
3
4
5
6
7
8
9
8)
1
2
3
4
5
6
7
8
9
9)
1
2
3
4
5
6
7
8
9
10)
1
2
3
4
5
6
7
8
9
11)
1
2
3
4
5
6
7
8
9

Варианты для 10ти изображений:

1)
1
2
3
4
5
6
7
8
9
10
2)
1
2
3
4
5
6
7
8
9
10
3)
1
2
3
4
5
6
7
8
9
10
4)
1
2
3
4
5
6
7
8
9
10
5)
1
2
3
4
5
6
7
8
9
10
6)
1
2
3
4
5
6
7
8
9
10
7)
1
2
3
4
5
6
7
8
9
10
8)
1
2
3
4
5
6
7
8
9
10
9)
1
2
3
4
5
6
7
8
9
10
10)
1
2
3
4
5
6
7
8
9
10
11)
1
2
3
4
5
6
7
8
9
10
12)
1
2
3
4
5
6
7
8
9
10

Варианты для 11ти изображений:

1)
1
2
3
4
5
6
7
8
9
10
11
2)
1
2
3
4
5
6
7
8
9
10
11
3)
1
2
3
4
5
6
7
8
9
10
11
4)
1
2
3
4
5
6
7
8
9
10
11
5)
1
2
3
4
5
6
7
8
9
10
11
6)
1
2
3
4
5
6
7
8
9
10
11
7)
1
2
3
4
5
6
7
8
9
10
11
8)
1
2
3
4
5
6
7
8
9
10
11
9)
1
2
3
4
5
6
7
8
9
10
11

Варианты для 12ти изображений:

1)
1
2
3
4
5
6
7
8
9
10
11
12

Варианты если изображений больше чем 12:

1)
1
2
3
4
5
6
7
2)
1
2
3
4
5
6
7
3)
1
2
3
4
5
6
7
8
9
4)
1
2
3
4
5
6
7
8
9
10
11
5)
1
2
3
4
5
6
7
8
9
10
11
6)
1
2
3
4
5
6
7
8
9
10
11
12