HTML5 - canvas - пример рисования на странице с помощью JavaScript
Красиво, правда? И совсем не сложно.
Нужно использовать JavaScript. Устанавливаем связь с тегом <canvas> и рисуем простые объекты, используя заливку. Что значат те или иные функции рисования, можно посмотреть в справочнике по JavaScript. Логика программы описана в комментариях в самом листинге. Рисуем плоский двумерный рисунок, используя геометрические фигуры прямоугольник, круг и линию.
Вот код рисунка
<script>
window.onload = function() {
// рисуем домик небо траву и солнце
var drawingCanvas = document.getElementById('mypicture');
if(drawingCanvas && drawingCanvas.getContext) {
var context = drawingCanvas.getContext('2d');
// Рисуем небо
context.strokeStyle = "#000";
context.fillStyle = "#aef";
context.beginPath();
context.fillRect(0,0,300,300);
context.closePath();
context.stroke();
context.fill();
// Рисуем траву
context.strokeStyle = "#000";
context.fillStyle = "#5c5";
context.beginPath();
context.fillRect(0,250,300,300);
context.closePath();
context.stroke();
context.fill();
// рисуем стену домика
context.strokeStyle = "#000";
context.fillStyle = "#ca5";
context.beginPath();
context.fillRect(50,150,100,100);
context.closePath();
context.stroke();
context.fill();
// рисуем окошко домика
context.strokeStyle = "#000";
context.fillStyle = "#000";
context.beginPath();
context.fillRect(79,178,43,43);
context.closePath();
context.stroke();
context.fill();
context.strokeStyle = "#000";
context.fillStyle = "#ff0";
context.beginPath();
context.fillRect(80,200,20,20);
context.closePath();
context.stroke();
context.fill();
context.strokeStyle = "#000";
context.fillStyle = "#ff0";
context.beginPath();
context.fillRect(101,200,20,20);
context.closePath();
context.stroke();
context.fill();
context.strokeStyle = "#000";
context.fillStyle = "#ff0";
context.beginPath();
context.fillRect(80,179,20,20);
context.closePath();
context.stroke();
context.fill();
context.strokeStyle = "#000";
context.fillStyle = "#ff0";
context.beginPath();
context.fillRect(101,179,20,20);
context.closePath();
context.stroke();
context.fill();
// рисуем трубу домика
context.strokeStyle = "#000";
context.fillStyle = "#f00";
context.beginPath();
context.fillRect(65,100,10,30);
context.closePath();
context.stroke();
context.fill();
// рисуем крышу
context.beginPath();
context.strokeStyle = "#000";
context.fillStyle = "#ca5";
context.moveTo(50, 150);
context.lineTo(100, 100);
context.moveTo(100, 100);
context.lineTo(150, 150);
context.moveTo(150, 150);
context.lineTo(50, 150);
context.closePath();
context.stroke();
context.fill();
// рисуем дерево
context.strokeStyle = "#000";
context.fillStyle = "#cc0";
context.beginPath();
context.fillRect(235,150,10,100);
context.closePath();
context.stroke();
context.fill();
// Рисуем окружность
context.strokeStyle = "#000";
context.fillStyle = "#0f0";
context.beginPath();
context.arc(240,150,40,0,Math.PI*2,true);
context.closePath();
context.stroke();
context.fill();
// Рисуем окружность
context.strokeStyle = "#000";
context.fillStyle = "#ff6";
context.beginPath();
context.arc(215,150,5,0,Math.PI*2,true);
context.closePath();
context.stroke();
context.fill();
context.fillStyle = "#fa6";
context.beginPath();
context.arc(230,120,5,0,Math.PI*2,true);
context.closePath();
context.stroke();
context.fill();
context.fillStyle = "#aa6";
context.beginPath();
context.arc(250,170,5,0,Math.PI*2,true);
context.closePath();
context.stroke();
context.fill();
// птичка
context.beginPath();
context.moveTo(200,50);
context.quadraticCurveTo(205,70,210,50);
context.stroke();
context.beginPath();
context.moveTo(180,40);
context.quadraticCurveTo(185,60,190,40);
context.stroke();
context.beginPath();
context.moveTo(230,40);
context.quadraticCurveTo(235,60,240,40);
context.stroke();
}
}
</script>
<canvas id="mypicture" width="300" height="300">
<p>Ваш браузер не поддерживает рисование.</p>
</canvas>
Prolog — это язык логического программирования. Он является декларативным языком: вся стуктура программы представлена в виде правил и фактов. На нем можно строить экспертные системы, генерирующие ответы вида true (истина) или false (ложь). Пролог хорошо подходит для автоматического перебора вариантов решений с возвратами. Язык не требует написания большого объемного кода и позволяет получать отличные результаты. |
Интересные материалы на сайте:
|
|
|