Форум программистов, компьютерный форум, киберфорум
JavaScript: HTML5 Canvas
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 05.09.2020
Сообщений: 1

Canvas: найти пиксель по цвету

05.09.2020, 18:41. Показов 2431. Ответов 1

Студворк — интернет-сервис помощи студентам
Как получить координаты первого найденного пикселя с определённым цветом.
К примеру у нас есть картинка.
На ней мы видим синий квадрат, который начинает отрисовку по координате на 3,3.
Как получить эти координаты первого найденного синего пикселя?
P.S. Отрисовка рандомная, по этому заранее местоположение не известно.
Изображения
 
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.09.2020, 18:41
Ответы с готовыми решениями:

Как найти пиксель в canvas
Здравствуйте, не как не могу придумать как реализовать вывод координат пикселя с canvas допустим в edit, но проблемка в том, что рисунок на...

Как разделить каждый пиксель одного изображения на соответствующий пиксель другого?
Здравствуйте! Есть два битмапа, одинакового размера, нужно получить третий, являющийся результатом деления пикселей первого на пиксели...

Каким стандартным софтом Windows можно смотреть пиксель в пиксель?
Здравствуйте. Есть изображение - дизайн сайта. Можно ли каким встроенным стандартным софтом виндоус (XP,7) просмотреть изображение...

1
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
06.09.2020, 01:23
Лучший ответ Сообщение было отмечено Биг-лон как решение

Решение

Можно действовать примерно так:
HTML5
1
<canvas id="canvas" width="300" height="200"></canvas>
JavaScript
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
const canvas = document.getElementById("canvas");
const width = canvas.offsetWidth,
  height = canvas.offsetHeight;
const ctx = canvas.getContext("2d");
//Закрашиваю пиксели случайным образом:
for (let i = 0; i < width / 10; i++) {
  for (let j = 0; j < height / 10; j++) {
    //так можно было бы раскрасить в рандомные цвета:
    //ctx.fillStyle = `rgb(${Math.floor(Math.random() * 255)}, ${Math.floor(Math.random() * 255)} , ${Math.floor(Math.random() * 255)})`;
    ctx.fillStyle = ["blue", "white"][Math.floor(Math.random() * 2)];
    ctx.fillRect(i * 10, j * 10, 10, 10);
  }
}
console.log(find().join(", "));
//ищу первый синий:
function find() {
  let x, y;
  for (let i = 0; i < height; i++) {
    for (let j = 0; j < width; j++) {
      const color = ctx.getImageData(j, i, 1, 1).data;
      if (color[2] > 250 && color[0] + color[1] < 50) {
        x = j;
        y = i;
        return [x, y];
      }
    }
  }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.09.2020, 01:23
Помогаю со студенческими работами здесь

Проверка пиксель в пиксель на мобильном приложении
Если нужно например проверит верстку пиксель в пиксель в браузере то это легко.Для браузеров есть программы для наложения ПДФ на верстку. ...

Нужно ввести в элементы массива 0, если пиксель белый, или 1 ,если пиксель чёрный
Есть чёрно белая картинка 3x5. Нужно ввести в элементы массива 0, если пиксель белый, или 1 ,если пиксель чёрный. Добавлено через 16...

Найти кнопку по цвету
Подскажите пожалуйста. Вобщем нужно найти кнопку (ВОЙТИ) В игре по цвету и клацнуть мышкой. Я делал так но это не работает так как у...

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

Найти отдельный пиксель
Добрый день. Имеется изображение 120*25 пикселей. Помогите найти на изображении отдельно стоящие пиксели (белые). Данные пиксели нужно...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru