Диаграмма Google - получить цвет для строки

У меня есть круговая диаграмма с большим количеством элементов. Я оставил выбор цвета для диаграмм Google, но после того, как диаграмма будет нарисована, мне нужно получить цвет каждой строки.

Я знаю, что могу сгенерировать массив цветов и установить его в параметрах диаграммы, и это решит мою проблему, я смогу получить оттуда цвета. Но я действительно не хочу создавать этот большой массив вручную.

Итак, есть ли способ получить цвет для данной строки?

Спасибо!


person Ionut Bilica    schedule 16.06.2012    source источник


Ответы (1)


Я не знаком с круговыми диаграммами Google, но у меня есть для вас базовое предложение JavaScript. Может быть, это поможет. Если у вас есть изображение холста, вы можете использовать метод выбора пикселей JavaScript, что-то вроде следующего, который я использую для себя:

//get the image
var sampleImage = document.getElementById("checkimg");
//convert the image to canvas
function convertImageToCanvas(image) {
    var canvas = document.createElement("canvas");
    canvas.width = image.width;
    canvas.height = image.height;
    canvas.getContext("2d").drawImage(image, 0, 0);
    return canvas;
}
var canvas = convertImageToCanvas(sampleImage);
sampleImage.style.display = 'none';
//real position functions
function absleft(el) {
    return (el.offsetParent) ? el.offsetLeft+absleft(el.offsetParent) : el.offsetLeft;
}
function abstop(el) {
    return (el.offsetParent) ? el.offsetTop+abstop(el.offsetParent) : el.offsetTop;
}
canvas.onclick = function(event) {
    //get real position
    if (event.hasOwnProperty('offsetX')) {
        var x = event.offsetX;
        var y = event.offsetY;
    }
    else {
        var x = event.layerX - absleft(canvas);
        var y = event.layerY - abstop(canvas);
    }
    //get the pixel data
    var pixelData = this.getContext('2d').getImageData(x, y, 1, 1).data;
}
document.getElementById("temp").appendChild(canvas);
person di3    schedule 04.04.2013