Professional Documents
Culture Documents
Використання Полотна в Html5
Використання Полотна в Html5
HTML 5
Питання, що розглядаються:
Company Logo
Цілі і завдання вивчення теми:
1) Ознайомитися з можливостями
застосування та особливостями
використання полотна в HTML5.
Company Logo
Специфікація HTML 5
Специфікація HTML5 включає безліч нових властивостей, одним з
яких є елемент canvas. Полотно (canvas) HTML5 надає простий і
потужний спосіб створення графічних зображень за допомогою
JavaScript. Для кожного елемента canvas можна використовувати
"контекст" (уявіть сторінку в альбомі для малювання), в якому можна
виконувати команди JavaScript для малювання. Браузери можуть
реалізувати декілька контекстів полотен і різні API надають функції для
малювання.
Більшість основних браузерів включають можливості контексту
полотна 2D - Opera, Firefox, Konqueror і Safari. Крім того існують
експериментальні збірки браузера Opera, які включають підтримку
контексту полотна 3D, і розширення, яке забезпечує підтримку полотна
3D в Firefox.
Company Logo
1. Основи використання полотна
Створення контексту полотна на сторінці складається просто в
додаванні елемента <canvas> в документ HTML наступним чином:
Company Logo
1. Основи використання полотна
Наступний сценарій малює простий прямокутник на певному
полотні:
Company Logo
2. Основні лінії і штрихи
Приклад, який використовує fillRect, strokeRect, clearRect та інші
можливості:
Company Logo
2. Основні лінії і штрихи
Наступний приклад показує малювання трикутника:
Company Logo
3. Вставка зображень та оформлення
тексту
Метод drawImage дозволяє вставляти інші зображення (елементи
img і canvas) в контекст полотна. У браузері Opera можна також
малювати зображення SVG всередині полотна. Це досить складний
метод, який отримує три, п'ять або дев'ять аргументів:
Company Logo
3. Вставка зображень та оформлення
тексту
Приклад коду показує всі три типи drawImage в дії:
Company Logo
3. Вставка зображень та оформлення
тексту
API контексту 2D надає три методи, які допомагають малювати з
точністю до пікселя: createImageData, getImageData, і putImageData.
Company Logo
3. Вставка зображень та оформлення
тексту
Приклад, який малює блок червоних крапок:
Company Logo
3. Вставка зображень та оформлення
тексту
За допомогою можливостей ImageData можна робити значно більше,
ніж тільки це. Наприклад, можна виконати фільтрацію зображення, або
можна зробити математичну візуалізацію (уявіть фрактали або щось
ще).
Наступний код показує, як створити простий фільтр для інверсії
кольору:
Company Logo
Властивості тексту об'єкта context:
Прикладом створення на полотні простого тексту "hello world":
Company Logo
Властивості API тіней:
shadowColor: задає бажаний колір тіні. Допустимі значення такі ж як і
значення кольору в CSS.
shadowBlur: визначає величину розмитості на тіні в пікселях. Чим
менше значення розмитості, тим більш різкою буде тінь. Створює
ефект дуже схожий на розмитість по Гауссу в Photoshop.
shadowOffsetX і shadowOffsetY: визначає зсув тіні по x і y в пікселях.
Company Logo
Властивості градієнтів:
Властивості fillStyle і strokeStyle можуть також мати присвоєні їм
об'єкти CanvasGradient замість рядків кольору CSS – це дозволяє
використовувати колірні градієнти для фарбування ліній і заповнень
замість однорідних кольорів.
Company Logo
Властивості градієнтів:
Наступний код показує, як використовувати градієнти: