<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

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

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

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

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

Подписавшись по 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):

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