Лабораторная работа №4 PHP
Оценка 4.7

Лабораторная работа №4 PHP

Оценка 4.7
Лабораторные работы
docx
информатика
Взрослым
04.04.2018
Лабораторная работа №4 PHP
В связи с тем, что в основе языка РНР находится язык Си. При отсутствии установленных дополнительных библиотек, базовый набор доступных типов данных сильно ограничен. Однако почти все более сложные типы данных, возможно реализовать с их использованием, так, например, тип данных color, входящий в состав dotnet, можно сымитировать массивом из 3-х чисел (или 4-х, если цвет подразумевает прозрачность)
Лабораторная работа №4.docx

Лабораторная работа №4

В связи с тем, что в основе языка РНР находится язык Си. При отсутствии установленных дополнительных библиотек, базовый набор доступных типов данных сильно ограничен. Однако почти все более сложные типы данных, возможно реализовать с их использованием, так, например, тип данных color, входящий в состав dotnet, можно сымитировать массивом из 3-х чисел (или 4-х, если цвет подразумевает прозрачность)

Примечание: В компьютерной графике, одной из самых популярных цветовых моделей, является RGB/ RGBA, в которых любой цвет обозначается 3/4 числами из диапазона от 0 до 255 (3/4 байта). Первая из этих чисел, отвечает за интенсивность красного цвета. 2-е, зеленого 3- синего, 4 (для RGBA) отвечает за прозрачность. Комбинация из этих чисел, позволяет получить практически любой цвет от белого (255,255,255) до черного (0,0,0)

 

В качестве холста для рисования в PHP используются переменная, которая хранится в оперативной памяти. Данную переменную можно либо сохранить в качестве файла-изображения на жестком диске сервера, либо вернуть в качестве ответа сервера на запрос клиента. В данном случае изображение не сохранится на жестком диске и будет удалено после завершения скрипта.

Для работы с изображениями на РНР используется библиотека GD. Подробнее о данной библиотеке и ее функциях можно узнать по ссылке http://php.net/manual/ru/ref.image.php

Приведем пример реализации рисования прямоугольника стараясь придерживаться описанной в лабораторных работах по C# структуре на языке РНР.

<?php

abstract class BaseFigure {

                public $fill = Array(255,255,0);

                public $stroke = Array(0,0,0);

                public $value = 0;

                public function Draw ($img){}

 

                public $StrokeWidth = 1;

               

                public function getStrokeColor($img) {

                               return imagecolorallocate ( $img , $this->stroke[0], $this->stroke[1], $this->stroke[2]);

                }

                public function getFillColor($img) {

                               return imagecolorallocate ( $img , $this->fill[0], $this->fill[1], $this->fill[2]);

                }

}

 

class Point extends BaseFigure {

                public  $x;

                public  $y;

               

                public function __construct ($x=0,$y=0)

                {

                               $this->x=$x;

                               $this->y=$y;

                }

}

 

class Line extends BaseFigure {

                public $start;

                public $end;

                public function __construct($start, $end)

                {

                               $this->start = $start;

                               $this->end = $end;

                }

                public function Draw ($img)

                {

                imageline ($img, $this->start->x, $this->start->y , $this->end->x, $this->end->y , $this->getStrokeColor($img) );

                }

}

 

class Rectangle extends BaseFigure {

                protected $topleft;

                public $width;

                public $height;

 

                function __construct($topleft, $width, $height)

                {

                               $this->topleft = $topleft;

                               $this->height = $height;

                               $this->width = $width;

                }

               

                public function Draw ($img)

                {

                imagefilledrectangle  ($img, $this->topleft->x, $this->topleft->y , $this->topleft->x+$this->width, $this->topleft->y+$this->height , $this->getFillColor($img) );

                imagerectangle  ($img, $this->topleft->x, $this->topleft->y , $this->topleft->x+$this->width, $this->topleft->y+$this->height , $this->getStrokeColor($img) );

                }

}

 

$r = new Rectangle(new Point(50, 50), 250, 100);

$image = imagecreatetruecolor (500 , 500);

imagefill ( $image ,0 , 0 , imagecolorallocate ( $image , 255, 255, 255));

$r->Draw($image);

header('Content-type: image/png');

imagejpeg($image);

imagedestroy($image);


 

Скачано с www.znanio.ru

Лабораторная работа №4 В связи с тем, что в основе языка

Лабораторная работа №4 В связи с тем, что в основе языка

Point extends BaseFigure { public $x; public $y; public function __construct ($x=0,$y=0) { $this->x=$x; $this->y=$y; } } class

Point extends BaseFigure { public $x; public $y; public function __construct ($x=0,$y=0) { $this->x=$x; $this->y=$y; } } class

Rectangle extends BaseFigure { protected $topleft; public $width; public $height; function __construct($topleft, $width, $height) { $this->topleft = $topleft; $this->height = $height; $this->width = $width; }…

Rectangle extends BaseFigure { protected $topleft; public $width; public $height; function __construct($topleft, $width, $height) { $this->topleft = $topleft; $this->height = $height; $this->width = $width; }…
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
04.04.2018