Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Генератор МЕМов

Статус
В этой теме нельзя размещать новые ответы.

DarkLynx

Ученик
Доброго времени суток уважаемые читатели..

Вчера один из участников форума написал мне с просьбой помочь ему с генератором мемов.. В общем не буду тянуть. Выкладываю свои разработки сюда, для общего так сказать пользования.

Скачать архив с файлами:

И так, что этот генератор умеет:
- Подгоняет изображения под заданный размер (большие уменьшает, маленькие увеличивает)
- Накладывает текст вверху и внизу картинки.
- Возможно как просто вывести мем на экран, так и сохранить его в папку.
- В выложенной версии предустановлены 5 цветов текста (красный, зеленый, синий, белый, черный)
- Возможно указывать любой шрифт для надписей (как сделать ниже в описании работы со скриптом)
- Возможно динамически задавать отступы сверху и снизу для соответствующий надписей.

вроде все.. может что то забыл...

И так приступим к описанию работы со скриптом.

Для начала давайте изменим некоторые настройки. Для этого заходим в файл MemGenerator.php
и в следующих строчках устанавливаем нужные вам значения

PHP:
private $width = 500; // Ширина мема
	private $height = 600; // Высота мема
	private $textLen = 25; // Максимальная длина текста
Какое значение на что влияет указано в комментарии. Тут всё понятно.

Далее подключим класс генератора.
Делается это очень и очень просто
PHP:
include_once 'MemGenerator.php';
Что же, класс подключен, можно приступать к работе..
Для начала создадим объект класса
PHP:
$mem = new MemGenerator();
Объект создан. Теперь нам доступны методы этого класса.
Давайте зададим фон нашего мема, для этого нужно вызвать метод SetImage(string $imgUrl)
Допустим наш фон лежит в папке images/ в корне скрипта. Задаем фон.
PHP:
$mem->SetImage('img/IMG2.png');
Задали. Отлично. Как я уже говорил, генератор сам подгонит размеры картинки под те которые вы задали в настройках.

Давайте теперь зададим шрифт, которым будет написан наш текст. Делается это так же просто.
PHP:
$mem->SetFont('optima');
Тут я немного разъясню. Во первых на одном уровне с файлом MemGenerator.php должна быть папка font в которую мы помещаем шрифты.
В архиве есть 2 шрифта - Optima и Arial. Если захотите добавьте свои.
Как уже становится понятно, в метод мы передаем название шрифта. Название можно указывать как с расширением .ttf так и без него.

Шрифт задали, давайте теперь установим цвет.
PHP:
$mem->SetColor('blue');
Как я уже писал, предустановлено 5 цветов.
Вот они (Название -> значение)
Черный -> black
Белый -> white
Красный -> red
Зеленый -> green
Синий -> blue

Цвет задали. Теперь можно и к самому тексту приступить.
Задаем верхний текст
PHP:
$mem->SetTextTop('Текст вверху');
Задаем нижний текст
PHP:
$mem->SetTextBottom('Текст внизу');
Текст задали... Что то забыли... Ах да.. Отступы..
Ну тут тоже все просто
PHP:
$mem->SetPadding(30, 10);
А нет, не всё.. :)
Но вообще то всё.. Первое значение, у нас оно равно 30, задает отступ верхнего текста от верхней границы картинки. (ВНИМАНИЕ!! Отступ считается от верхней границы картинки относительно нижней границы текста)
Ну а второе значение соответственно отступ нижнего текста относительно нижней границы картинки..

Всё. Параметры задали пора и приступить к самому главному, создать мем..
Сделать это так же легко как 2 байта переслать ;)
PHP:
$mem->ShowMem();
Такой вызов выведет на экран получившийся мем, но не сохранит его. А что же сделать что бы сохранить его?
Да практически ничего, пишем вот так
PHP:
$mem->ShowMem(true, 'mem');
и мем сохранится в папку mem... Единственное ограничение... Эта папка уже должна быть создана.. Указывать путь можно любой, но конечная папка ОБЯЗАТЕЛЬНО должна существовать, иначе он ничего не сохранит...

Ну вот как то так...

Доработка скрипта, интеграция с Вашим сайтом и прочие вкусности за $$
Подробности в скайпе darklynx1291
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу