Комментарий: используйте Canvas 'Getimagedata, чтобы получить значение RGBA за короткое время и немного грубо
Ниже приведен исходный код, который требует, чтобы браузер поддерживал HTML5<html>
<голова>
</head>
<тело>
<canvas onmousemove = "showcurrentcolor (event)">
</canvas>
<br/>
<div>
</div>
<script type = "text/javascript">
if (document.createElement ("canvas")) {
if (document.getElementbyId ("colorpicker"). getContext) {
var can = document.getElementbyId ("colorpicker");
can.setattribute («высота», 300);
var cxt = can.getContext ("2d");
var Gradient = cxt.createlinearGradient (0,5,0,5,0,150);
gradient.addcolorstop (0, '#00ff00');
gradient.addcolorstop (1, '#ff0000');
cxt.fillstyle = gradient;
cxt.fillrect (0,0,60,200);
var ox = can.offsetleft
var oy = can.offsettop;
var span = document.createElement ("input");
span.setattribute ("id", "rgba");
document.getElementbyId ("textresult"). AppendChild (SPAN);
}
}
функция showcurrentcolor (e) {
var x = e.clientx - 8;
var y = e.clienty - 29;
var W = 10;
if (document.createElement ("canvas")) {
if (document.getElementbyId ("colorpicker"). getContext) {
var can = document.getElementbyId ("colorpicker");
var cxt = can.getContext ("2d");
var Gradient = cxt.createlinearGradient (0,5,0,5,0,150);
var span = document.getElementbyId ("rgba");
var imgdatas = cxt.getimagedata (ox, oy, 10 200);
var imgdata = imgdatas.data;
var g = imgdata [4*(w)*(y) + (x)*4 + 1];
var r = imgdata [4*(w)*(y)+(x)*4];
var b = imgdata [4*(w)*(y) + (x)*4 + 2];
var a = imgdata [4*(w)*(y) + (x)*4 + 3];
span.value = "r ="+r+"g ="+g+"b ="+b+"a ="+a;
document.getElementbyId ("textresult"). AppendChild (SPAN);
}
}
}
</script>
</body>
</html>