1
私はカラーピッカーを作成しようとしています。私のコードは何とかgetImageDataの後で停止します。私は解決策を見つけることができませんでした... getImageDataの後にコードが停止する
は、ピクセルの値を取得するための別の方法はありますか? または、問題は私が画像のリンクを使用しようとしていることですか?> function drawImage() {
> var image = new Image();
> image.src = imageSrc;
> image.onload = function() {
> context.clearRect(0, 0, canvas.width, canvas.height);
> context.drawImage(image, 0, 0, image.width, image.height);
>
> $('#cPicker').mousemove(function(e) {
> if (previewOn)
> {
> var canvasOffset = $(canvas).offset();
> var x = Math.floor(e.pageX - canvasOffset.left);
> var y = Math.floor(e.pageY - canvasOffset.top);
>
> alert(x + ', ' + y);
>
> var imageD = context.getImageData(x, y, 1, 1);
> var pixel = imageD.data;
>
> var pixelColor = 'rgb(' + pixel[0] + ', ' + pixel[1] + ', ' + pixel[2] + ')';
> $('preview').css('backgroundColor', pixelColor);
>
> $('#rValue').val(pixel[0]);
> $('#gValue').val(pixel[1]);
> $('#bValue').val(pixel[2]);
> $('#rgbValue').val(pixel[0]+','+pixel[1]+','+pixel[2]);
>
> var dColor = pixel[2] + 256 * pixel[1] + 65536 * pixel[0];
> $('#hexValue').val('#' + ('0000' + dColor.toString(16)).substr(-6));
> };
> });
>
> $('#cPicker').click(function(e) {
> previewOn = !previewOn;
> });
> };
};