<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру

PHP и MySQL с Нуля до Гуру

Данный курс - это более 20-ти часов видеоуроков по изучению PHP и MySQL. Ключевой момент курса - это создание движка для сайта с нуля. Каждая строчка комментируется. Практически для каждого урока имеются упражнения. Причём данные упражнения направлены не только на закрепление материала, но и на реализацию реальных задач, встающих перед Web-разработчиками при создании сайтов. После курса Вы сможете без проблем создавать движки для любых сайтов.

Также почти к каждому уроку идут упражнения для закрепления материала.

Просмотрев курс и выполнив упражнения, Вы сможете без проблем создавать функциональные движки для самых различных сайтов.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Рисование текста в PHP

Рисование текста в PHP

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

Существует два способа рисования текста в PHP: с использованием встроенного в PHP шрифта и с использованием внешнего шрифта. Сначала разберём более простой вариант - рисование текста встроенным шрифтом в PHP:

<?php
  //Создаём "чистый" холст для рисования шириной 200 пикселей и высотой 300 пикселей
  $i = imageCreate(200, 300);
  //Делаем белый фон
  $color = imageColorAllocate($i, 255, 255, 255);
  //Устанавливаем красный цвет
  $color = imageColorAllocate($i, 255, 0, 0);
  //Рисуем горизонтальный текст
  imageString($i, 5, 80, 150, "MyRusakov.ru", $color);
  //Рисуем вертикальный текст
  imageStringUp($i, 5, 80, 150, "MyRusakov.ru", $color);
  //Отправляем заголовок с mime-type
  Header("Content-type: image/jpeg");
  //Выводим изображение
  imageJpeg($i);
  //Уничтожаем идентификатор и освобождаем ресурсы сервера
  imageDestroy($i);
?>

Новая функция здесь - это imageString(resource $im, int font, int x, int y, string s, int color). Данная функция рисует текст шрифтом font на изображении im. Левый верхней угол текста задаётся координатами x и y, а цвет - аргументом color.

Функция imageStringUp(resource $im, int font, int x, int y, string s, int color) аналогичная, только здесь рисуется текст вертикально. А координаты x и y означают левый нижний угол изображения (фактически, это будут координаты первой буквы выводимой строки).

Скажу пару слов об аргументе font. Это число, которое задаёт размер шрифта. Однако, больше 5-ти Вы не поставите.

Теперь же разберём наиболее оптимальный способ рисования текста в PHP с использованием сторонних ttf-шрифтов:

<?php
  //Создаём "чистый" холст для рисования шириной 200 пикселей и высотой 300 пикселей
  $i = imageCreate(200, 300);
  //Делаем белый фон
  $color = imageColorAllocate($i, 255, 255, 255);
  //Устанавливаем красный цвет
  $color = imageColorAllocate($i, 255, 0, 0);
  //Рисуем текст ttf-шрифтом
  imageTtfText($i, 16, 94, 100, 150, $color, "times.ttf", "MyRusakov.ru");
  //Отправляем заголовок с mime-type
  Header("Content-type: image/jpeg");
  //Выводим изображение
  imageJpeg($i);
  //Уничтожаем идентификатор и освобождаем ресурсы сервера
  imageDestroy($i);
?>

Здесь используется функция imagettftext (resource im, int size, int angle, int x, int y, int color, string fontfile, string s). Эта функция позволяет нарисовать текст s на изображении im с помощью шрифта, заданного в fontfile и размером size. Левый верхний угол задаётся координатами x и y, цвет текста аргументом color, а угол наклона текста аргументом angle. Угол 0 градусов находится на 3-х часах. Отсчёт угла ведётся против часовой стрелки. В общем, попрактикуйтесь, и сразу всё поймёте.

Где взять ttf-шрифт? Либо поищите у себя на компьютере (введите в "Поиске" "*.ttf", наверняка, у Вас их будет предостаточно), либо в Интернете. Далее копируйте ttf-шрифт к себе на сайт, а затем в PHP указывайте путь к этому файлу шрифтов.

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

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