Php draw

У цьому уроці крім стандартних способів малювання точок і ліній розглядаються більш складні - малювання згладженої лінії, малювання ліній довільної ширини. Крім того, наведено приклад часткового затемнення картинки для створення підпису.

Для малювання точки використовується функція imagesetpixel.

imagesetpixel () малює на зображенні image точку з координатами x. y і кольором color. Верхній лівий кут має координати 0,0.

Приклад 7. Малювання точки

Результат роботи цієї програми виглядає наступним чином:

Php draw

За допомогою точки можна намалювати що завгодно. Для ілюстрації розглянемо таку просту програму:

Результат роботи цієї програми виглядає наступним чином:

Php draw

Для малювання лінії використовується функція imageline.

imageline () малює на зображенні image відрізок, що починається в точці x1: y1, який закінчується в точці x2: y2 і має колір color. Верхній лівий кут має координати 0: 0.

Приклад 9. Малювання лінії

Результат роботи цієї програми виглядає наступним чином:

Php draw

Малювання лінії довільної ширини

Іноді з'являється необхідність малювання лінії довільної товщини (приклад буде розглянуто в уроці 13). Функції малювання такої лінії немає, але ми можемо самі написати її:

Приклад 10. Малювання лінії довільної товщини.

Результат роботи цієї програми виглядає наступним чином:

Php draw

Малювання згладженої лінії

Приклад малювання згладженої лінії ви можете знайти тут. Результат роботи цієї програми виглядає наступним чином:

Php draw

На зображенні добре видно, що лінії у верхній частині більш гладкі. Я не рекомендую зловживати функцією imagesmoothline цього прикладу. Вона працює дуже повільно. Дочекайтеся краще уроку 13.

висновок

У висновку хотілося б навести приклад простої програми, що дозволяє виводити підпис на затемненій частині зображення. Крім функції imagesetpixel в прикладі використовуються ще дві:
  • imagecolorat - повертає значення кольору в поточній точці.
  • imagecolorsforindex - повертає асоціативний масив з індексами "red", "green", "blue" і "alpha". Як параметр передається колір, отриманий за допомогою функції imagecolorat

Приклад 11. Затемнення зображення