キャンバス(線形グラデーションを持つ)をクリックしようとしており、クリックした時点で画像データを取得しています
また、その(クリック)ポイントに相対的に配置された黄色(ピッカー)を配置したい
問題1:下部(白)をクリックすると、色の値が間違っています
問題 2: 黄色 (ピッカー) がクリック ポイントに正確に配置されていない
注 :border-radius:50% のため、キャンバスが丸く見えます
(上記のフィドルリンク)で提供されるコードの重要な部分は
$(wheel_canvas).click(function(e)
{
dragging = false;
x = e.pageX;
y = e.pageY;
can_p = $('#wheel_canvas').offset();
x = x - $(document).scrollLeft() - can_p.left;
x = y - $(document).scrollTop() - can_p.top;
$('#wheel_picker').css({'left':x+'px','top':y+'px'});
var data=wheel_context.getImageData(x,y,1,1).data;
pixelData = data;
rgbString = 'rgb('+pixelData[0]+', '+pixelData[1]+', '+pixelData[2]+')';
hex = rgb2hex(rgbString);
$('#color').val(hex);
$('#color').css('background',hex);
$('#feedback').html("Coordinates : "+x+","+y+" Color: "+hex);
});
フィドルを含む編集 回答の方が良いでしょう:)