ВСЕ СТАТЬИ
Блог начинающего программиста
Кнопка войти через Яндекс
Регистрация
Программирование на JavaScript для начинающих 2.0

Самый востребованный язык программирования

Какой язык программирования должен знать абсолютно любой программист?

Узнай прямо сейчас!

Изображение, цвет кодами PHP и HTML при выполнении заданий

Опубликовано:

PHP создает и управляет изображениями разных форматов. Наиболее часто используются форматы jpg, gif, png. PHP способен выводить потоковое изображение в браузер. Для этого необходима графическая библиотека GD library. Проверить, если ли доступ к ней, можно при помощи кода.

<?php echo phpinfo(); ?>

Файл с ним надо разместить на сервере. Открыть его в браузере, и в открывшемся списке найти секцию GD. Если она есть, значит библиотека подключена.

В PHP есть много Функций для работы с изображениями. Функция resource imagecreatetruecolor ( int $width , int $height ) в качестве аргументов принимает ширину и длину изображения. Возвращает результат с данными ресурсного типа, то есть работа с ним происходит в памяти.

Задание:

Нарисовать человечка. Без фанатизма.

Выполнение:


<?php
$im = imagecreatetruecolor(800, 800);
$c = imagecolorallocate($im, 120, 220, 150); //Создание цвета изображения
imageArc ($im, 400, 100, 150, 170, 0, 360, $c);
imageArc ($im, 400, 370, 250, 370, 0, 360, $c);
imageLine ($im, 300, 262, 150, 200, $c); //левая рука
imageLine ($im, 500, 262, 650, 200, $c); //правая рука
imageLine ($im, 320, 512, 300, 750, $c); //левая нога
imageLine ($im, 480, 512, 500, 750, $c); //правая нога
imagearc ($im, 400, 150, 30, 15, 0, 180, $c); //рот
imageFilledRectangle ($im, 330, 250, 400, 350, $c);//карман
imageRectangle ($im, 390, 90, 410, 130, $c);//нос
//снегопад
for ($i = 0; $i < 1000; $i++)
{
    $x = mt_rand (0, imageSX($im));//imageSX - Получение ширины изображения
    $y = mt_rand (-800, imageSY($im));
    imageSetPixel ($im, $x, $y, $c);//рисует точку (пиксель) на заданных координатах.
}

Посмотреть результат выполнения скрипта в браузере.

рисунок человечек

Изображение человечка уменьшено

Следующее задание:

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

Реализация:

Понимание скрипта полезно для создания простейшей каптчи. Создается файл html под названием imo.html c формой для ввода текста и отправки методом post на обработчик php под названием iso.php. Файл iso.php средствами php под управлением созданного скрипта генерирует текст, который был введен в форме файла imo.html. И если задать в этом файле редирект на предыдущую страницу, то откроется страница с формой и рисунком.

Файл imo.html.


<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="utf-8">
        <title>Изображения</title>
    </head>
    <body>
        <form action="iso.php" method="post">
            <input type="text" name="x">
            <input type="submit">
        </form>
        <br />
        <img src="iso.png" alt="iso">
    </body>
</html> 

Файл обработчик iso.php.


<?php
$x = $_POST['x'];
$im = imageCreateTrueColor (190, 50);
$c = imageColorAllocate ($im, 255, 255, 255);
//$x = iconv ("CP1251", "UTF-8", $x); //Преобразует набор символов строки x из кодировки CP1251 в UTF-8.
imageTtfText ($im, 20, 0, 10, 30, $c, "verdana.ttf", $x);//Рисование текста на изображении шрифтом TrueType verdana.ttf
header ("Content-type: image/png");
imagePng ($im, "iso.png");
imageDestroy ($im);

header("Location: ".$_SERVER['HTTP_REFERER']); //редирект на предыдущую страницу imo.html
?>

Результат выполнения задания с изображением

Посмотреть результат выполнения скрипта про Изображения в браузере можно в новом окне.

Примечание

Для правильного функционирования этого скрипта необходима следующая запись в файле .htaccess


## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/png A0
</IfModule>

Это связано с настройкой браузерного кэширования.

Если запись настройки браузерного кэширования будет, например, такой:


ExpiresByType image/png "access 1 year"

То в браузере у клиента обработчик iso.php сработает не корректно. Для получения правильного результата потребуется нажать комбинацию клавиш Ctrl+F5.


Кипящий чайник с выхлопом клубов пара из носика

Интенсив «Основы программирования»

Бесплатный курс по программированию

Начать обучение

Бесплатный курс по основам PHP

Бесплатный Видеокурс по PHP!

Пример создания PHP-сайта!

Подробнее

Комментарии

Пока комментарий нет

Оставить свой комментарий:

Кнопка войти через Яндекс Зарегистрироваться
Имя:
Электронная почта:
Текст комментария:
Введите код с картинки:
картинка
PHP хостинг ХостиЯ