Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Изчертаване на фигури и линии в PHP
  1. Изчертаване на фигури и линии в PHP
     
Автор  plamenSm (27.03.2008 16:24)  съобщение до автора
Погледнат  1892 пъти  добави към любими
Оценка  добави коментар
Гласове  --  изпрати на приятел
Коментари  (0)  абонирай се за PHP
    Страница 1 / 1

 



Чертането на геометтрични фигури и линии със PHP не е нищо по-различно от това, което правят програмите за работа с растерна графика. На практика когато създавате код за чертане вие работите като графичен редактор, като използвате функции за задаване на цветове, за изчертаване и запълване на геометрични фигури, за преоразмеряване и запазване на готовото изображение. Тези функции са част от графичната библиотека на Tomas Boutell – GD graphics library, която стана част от PHP със версия 4.3.0.


Създаване на ново изображение

Основния начин за създаване на ново изображение е извикването на функцията ImageCreate(). Тази функция създава в паметта област в която ще се се запише новото изображение („платно”, „canvas”). Например за създаване на ново празно изображение с размери 300 на 300 пиксела, се използва следния код:

CODE
1
2
3
<?php
$imageOne = ImageCreate(300, 300);
?>

След като вече имате празно изображение, можете да дефинирате цветове, които ще използвате при чертане в тази област. Цветовете се дефинират в RGB система, като за всеки цвят R (red), G (green) и B (blue) се задава стойност в рамките 0..255 (1 байт).

Първия цвят който дефинирате автоматично се приема за фонов цвят на съответното изображение.

CODE
1
2
3
4
5
6
<?php
$whiteImageColorAllocate($imageOne, 255, 255, 255);
$red = ImageColorAllocate($imageOne, 255, 0, 0);
$blue = ImageColorAllocate($imageOne, 0, 0, 255);
$green = ImageColorAllocate($imageOne, 0, 255, 0);
?>


Чертане на линии и фигури

Има няколко функции, които служат за чертане. Както виждате по-долу имената на фуннкциите са достатъчно говорящи, за да разберем за какво служат:

  • ImageEllipse() – изчертава елипса
  • ImageArc() – изчертава част от елипса (дъга)
  • ImagePolygon() – изчертава полигон
  • ImageRectangle() – изчертава правоъгълник
  • ImageLine() – изчертава линия

Всяка от тези функции използва използва декартова координатна система с (X, Y) координати, като точка (0, 0) е горния ляв ъгъл на изображението. По-долу следва пример с който се изчертава зелен правоъгълник с вирочина 30px, височина 50px, който е разположен на 10px от левия край и 20px от горния край на изображението:

CODE
1
2
3
<?php
ImageRectangle($imageOne, 10, 20, 40, 70, $green);
?>



Объркващо ли е? Долната скица ще ви помогне да си изясните нещата:



Както разбирате чертането с PHP изисква известно предварително обмисляне.


Използване на плътни (запълнени) фигури

PHP разполага също и с набор от функции за изчертафане на запълнени с плътен цвят геометрични фигури:

  • ImageFilledEllipse() – запълнена елипса
  • ImageFilledArc() – запълнено парче от елиса
  • ImageFilledPlygon() – запълнен полигон
  • ImageFilledRectangle() – запълнен правоъгилник

    Тези функции се използват по същия начин, както разгледаните по-горе. Липсва запълнена линия – съвсем логично

    CODE
    1
    2
    3
    <?php
    ImageFilledRectangle($imageOne, 10, 20, 40, 70, $green);
    ?>

    В PHP има наколко дефинирани стила, които се използват при изчертаване на фигурите. Например IMG_ARC_PIE задава заобляне на ъглите. Повече информация за стиловете в PHP вижте на: http://www.php.net/image.


    В заключение

    Показахме основните фуннкции, за да ви помогнем да разберете принципите за създаване на изображения в PHP. Можете да използвате тези функции в комбинация с динамични данн (например от база данни) за да създадавате различни видове плoски или 3D графики.

    Ако е искате да създавате графични файлове, е необходимо да инсталирате някои допълнителни библиотеки. Ето две такива:



  •    


    Ключови думи: PHP GD изчертаване на линии изчертаване на фигури


    Още уроци от тази рубрика


     
    • Подобни теми от myLinks
     

     1 посетител чете този урок (0 потребители и 1 гост)  
    Активни потребители: ---
       
      

    Еmail  
     

     

     
    • Интересно от Софтуер
     



    IT-PLACE.NET © 2004 - 2008