Генератор картинок для социальных сетей
Установка
composer require vallefor/eva-social-img-generator
, (*1)
Пример использования
seTextShadow("#000000", 75, 1, 2, 2)
->setText("Направление деятельности АО «МОСГАЗ»","#ffffff",imgGenerator::position_left_bottom,"auto",'5%')
->setFont($_SERVER["DOCUMENT_ROOT"]."/upload/fonts/fonts2_7/hinted-PTF55F.ttf");
$generator = new imgGenerator();
$generator
->addText($text)
->addOverlay(0.5, "#999900")
->setLogo($_SERVER["DOCUMENT_ROOT"] . "/images/logo.png", imgGenerator::position_left_top, "5%",'auto')
->fromImg($_SERVER["DOCUMENT_ROOT"] . "/images/background.jpeg")
->resizeFor("autodetect")
->show();
}
?>
imgTextGenerator::setText
Используется для установки текста. Имеет следующие параметры:, (*2)
- Текст
- Цвет текста, допускается использование HEX, RGB, RGBA и другие типы цветов, которые поддерживаются Imagick'ом.
- Позиция текста. Для определение позиции используется константа imgGenerator::position_*, текст можно поставить в любую частьк артинки
- Размер текста, может быть следующим:
- auto - размер будет равен 1/10 высоты картинки
- любое число - для размера шрифта в пикселях
- 1/10, 1/5, 1/7 и т.д., то есть размер текста будет выстраиваться относительно высоты сгенерированной картинки
- Отступы - можно указать как целое значение, так и в процентах. Можно задать каждый отступ отдельно, для этого передайте массив: array(top, right, bottom, left)
imgTextGenerator::setTextShadow
Устанавливает тень под текстом, (*3)
Параметры:, (*4)
- Цвет, допускается использование HEX, RGB, RGBA и другие типы цветов, которые поддерживаются Imagick'ом.
- Прозрачность - 0-100 (или 0-1)
- Размер тени
- Координата X
- Координата Y
imgTextGenerator::setFont
Устанавливает шрифт текста. Допускается как указать название шрифта (имейте ввиду, что данный шрифт должен быть установлен в системе), так и путь к шрифтовому файлу., (*5)
imgTextGenerator::setBackground
Устанавливает фон под текстом. Имеет следующие параметры:
1. Цвет, допускается использование HEX, RGB, RGBA и другие типы цветов, которые поддерживаются Imagick'ом.
2. Отступ - можно указать как целое значение, так и в процентах. Можно задать каждый отступ отдельно, для этого передайте массив: array(top, right, bottom, left), (*6)
imgGenerator::addOverlay
Добавляет слой, поверх фоновой картинки (если она есть). Имеет следующие параметры:, (*7)
- Прозрачность - 0-100 или 0-1.
- Цвет, допускается использование HEX, RGB, RGBA и другие типы цветов, которые поддерживаются Imagick'ом.
imgGenerator::addText
Добавляет текст на картинку. На вход принимает подготовленный экземпляр imgTextGenerator., (*8)
imgGenerator::setLogo
Устанавливает логотип. Имеет следующие параметры:, (*9)
- Путь к файлу
- Позиция логотипа на картинке, для этого используйте константы imgGenerator::position_*
- Отступ - можно указать как целое значение, так и в процентах. Можно задать каждый отступ отдельно, для этого передайте массив: array(top, right, bottom, left)
- Размер - в данный момент может принять двух вида:
- auto - картинка будет занимать не более 25% картинки.
- false - логотип не будет уменьшен, рекомендуется использовать только если вы картинку генерируете для определенной соц. сети.
imgGenerator::fromImg
За основу генерируемой картинки берется эта картинка., (*10)
imgGenerator::fromColor
За основу картинки берется цвет., (*11)
imgGenerator::resizeFor
Уменьшить картинку для этой соцсети. Допускаются такие строки:, (*12)
- autodetect - автоопределение исходя из user agent запросившего. Если определить не удалось, то используется vk
- facebook - 1200x630
- vk - 537x240
- twitter - 1024x512
- google_plus - 2120x1192
- ok - однокласники - 780x385
Рекомендуется использовать автоопределение, (*13)
imgGenerator::enableCache
В качестве параметра принимает путь к папке, в которую нужно сохранять сгенерированные картинки. Существенно снижает повторную скорость отображения картинки. Но так как, по задумке, к картинке обращаются только роботы социальных сетей - происходить это должно крайне редко., (*14)
imgGenerator::show
Завершающий метод. Генерирует и отображает картинку., (*15)
imgGenerator::getPath
Завершающий метод. Вместо отображения картинки возращает путь к ней (при условии, если был включен кеш., (*16)