Установить атрибуты HTML холста дуги - PullRequest
0 голосов
/ 26 декабря 2010

Я все еще новичок в HTML5 и холсте. Я устанавливаю точки на холсте так:

var ctx = canvas.getContext("2d");
        for (var i = 0; i < 500; i++) {
            ctx.fillStyle = 'rgba(255,255,255,0.2)';
            ctx.beginPath();
            ctx.arc(points[i].x, points[i].y, radius, 0, Math.PI * 2, true);
            ctx.fill();
        }

Есть ли способ, при котором после рисования холста, когда я говорю «200», я могу определить конкретную точку и изменить ее цвет? Или лучше перерисовать весь холст?

1 Ответ

2 голосов
/ 27 декабря 2010
var canvas, ctx, points;
var radius = 10;
var num = 20;
$(function () {
    points = [];
    for (var i = 0; i < num; i++) {
        points.push({
            x: Math.random() * 300 >> 0,
            y: Math.random() * 200 >> 0
        });
    }
    canvas = document.getElementById('canvas');
    ctx = canvas.getContext("2d");
    ctx.fillStyle = '#000';
    ctx.fillRect(0, 0, 300, 200);

    for (var i in points) {
        ctx.fillStyle = 'rgba(255,255,255,0.8)';
        ctx.beginPath();
        ctx.arc(points[i].x, points[i].y, radius, 0, Math.PI * 2, true);
        ctx.fill();
    }
});

var initrand = Math.random() * num >> 0;

function change() {
    var random = initrand;
    ctx.fillStyle = '#234263';
    ctx.beginPath();
    ctx.arc(points[random].x, points[random].y, radius, 0, Math.PI * 2, true);
    ctx.fill();
    initrand = Math.random() * num >> 0;
}

Демонстрация для вышеуказанного кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...