Малювання тексту в php

Відео: [PHP] Висновок тексту на екран (Урок 2)

Малювання тексту в PHP

Зараз ми з Вами будемо розбирати дуже важливу тему - малювання тексту в PHP. Є вона важливою, так як найпопулярніший приклад роботи з графікою - це генерування капчи (Картинки з перевірочним кодом), яку Ви, напевно, бачите і вводите дуже часто. І для генерації капчи необхідно вміти малювати текст на PHP, чому Ви, прочитавши цю статтю, і навчитеся.

Існує два способи малювання тексту в PHP: З використанням вбудованого в PHP шрифту і з використанням зовнішнього шрифту. Спочатку розберемо більш простий варіант - малювання тексту вбудованим шрифтом в PHP:

lt ;?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) -
?gt;

Нова функція тут - це 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-шрифтів:

lt ;?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) -
?gt;

Тут використовується функція 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 вказуйте шлях до цього файлу шрифтів.

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

Поділися в соціальних мережах:

Схожі
Малювання графіків в phpМалювання графіків в php
Візуалізація даних та малювання на jаvascript.Візуалізація даних та малювання на jаvascript.
Тег canvas в html 5.Тег canvas в html 5.
Команда color - встановити колір символів і фону консолі windowsКоманда color - встановити колір символів і фону консолі windows
Як виділити фрагмент тексту в word.Як виділити фрагмент тексту в word.
Створення графіків на phpСтворення графіків на php
Html-теги для текстуHtml-теги для тексту
Заливка текстурами в phpЗаливка текстурами в php
Як вставити красивий текст в excel.Як вставити красивий текст в excel.
Як зробити ефект вдавленого тексту на css3.Як зробити ефект вдавленого тексту на css3.
» » Малювання тексту в php