0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 9
1

Неверные цвета пикселей в canvas

01.03.2015, 20:01. Показов 875. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Перечитал кучу примеров "как узнать цвет пикселя в canvas". Но то ли я дурак (что скорее всего), то ли...
В коде я сначала заливаю весь canvas синим, потом рисую на нем картинку. При нажатие на canvas выводится сообщение с цветом пикселя. Но какую бы картинку я не залил, вывод 0,0,255. Если не залить цветом, то 0,0,0.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
        function Draw(){
            var canvas=document.getElementById("can");
            var ctx=canvas.getContext("2d");
            ctx.fillStyle='#00f';
            ctx.fillRect(0,0,200,200);
            var image=new Image();
            image.src="./img.bmp";
            image.onload=function(){
                ctx.drawImage(image,0,0);
            }
            var img_data=ctx.getImageData(0,0,200,200);
            canvas.onclick=function(e){
                var x=e.offsetX;
                var y=e.offsetY;
                var pix=img_data.data;
                var i=((y*200)+x)*4;
                var R=pix[i];
                var G=pix[i+1];
                var B=pix[i+2];
                var rgb=R+','+G+','+B;
                alert(rgb);
            }
        }
        </script>
    </head>
    <body>
        <canvas id="can" height="200" width="200"></canvas>
        <input type="button" value="Start" onclick="Draw()"></input>
    </body>
</html>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2015, 20:01
Ответы с готовыми решениями:

Canvas mousemove пропуск пикселей
&lt;canvas id=&quot;games&quot;&gt;&lt;/canvas&gt; &lt;script&gt; /*function changes() { sw = window.innerWidth; ...

Размеры пикселей canvas
подскажите, как задать длину и ширину для пикселей? Например хочу задать границы, ширину и высоту...

Текстура имеет неверные цвета + кривая привязка
Прив. Загружаю картинку и накладываю её на прямоугольничек. И текстурка ложится не совсем верно,...

Пропуск пикселей при рисовании на canvas
Здравствуйте. Проблема такая: есть изображение - и такой код в xe7 - Graphics::TBitmap...

1
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
01.03.2015, 22:13 2
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html>
<html>
    <head>
    </head>
    <body style="margin:0; pading:0;">
        <canvas id="can" height="200" width="200" style="display:block; margin:0 auto;"></canvas>
    <script>
        window.onload = function () {
            var canvas,ctx,rect,x,y,data,color,image;
            canvas = document.getElementById('can');
            ctx = canvas.getContext('2d');
            ctx.fillStyle = '#00f';
            ctx.fillRect(0, 0, 200, 200);
            image = new Image();
            image.src = "./img.bmp";
            image.onload = function () {
                ctx.drawImage(image, 0, 0);
                canvas.onmousemove = function (e) {
                    ctx.clearRect(0, 0, 200, 200);
                    ctx.drawImage(image, 0, 0);
                    rect = canvas.getBoundingClientRect();
                    x = e.clientX - rect.left;
                    y = e.clientY - rect.top;
                    data = ctx.getImageData(x, y, 1, 1).data;
                    color = '#' + data[0].toString(16) + '' + data[1].toString(16) + '' + data[2].toString(16);
                    ctx.fillStyle = color;
                    ctx.fillText(color, 0, 30);
                };
            };
        };
    </script>
</body>
</html>
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2015, 22:13
Помогаю со студенческими работами здесь

Отличить цвета пикселей
Доброго времени суток. Народ, подскажите пожалуйста, я рисую линию, потом в цикле прохожу...

Сравнение цвета пикселей
здравствуйте, задался задачей получать цвет пикселя с монитора, сравнивать его с образцом и в...

Определение цвета пикселей на экране
Тут миллион тем уж создано по этому вопросу но у меня не работает. Нужно определить прямоугольник...

Рандомные цвета пикселей в Lazarus
Не могу понять,как мне сделать так,что бы в процедуре button2mousedown цвет пикселей выбирался...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru