Поиск цвета в BufferedImage Java - PullRequest
0 голосов
/ 12 мая 2019

В настоящее время у меня есть скрипт, который может создать буферизованное изображение на экране, а затем перечислить значение для определенного пикселя. Тем не менее, я пытаюсь найти во всем буферизованном изображении определенный цвет. Есть ли способ сделать это?

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;

public class Main {
    public static void main(String args[]) throws IOException, AWTException {
        BufferedImage image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));

        int x = 10;
        int y = 10;

        int clr = image.getRGB(x, y);
        int red = (clr & 0x00ff0000) >> 16;
        int green = (clr & 0x0000ff00) >> 8;
        int blue = clr & 0x000000ff;
        System.out.println("Red  = " + red);
        System.out.println("Green  = " + green);
        System.out.println("Blue  = " + blue);
    }
}

1 Ответ

2 голосов
/ 12 мая 2019

Вы можете использовать вложенные циклы for для каждой (x, y) координаты изображения (с x между 0 и image.getWidth() и y между 0 и image.getHeight()) и сравнить, если цветв данной позиции соответствует цвету, который вы ищете.

...