パネル上の任意の点のピクセル情報(RGB情報)が欲しい
といろいろ本やらネットやら漁ったけれどスマートな方法は見つからず。
BufferedImageに描画してgetRGBで色情報を読み取ることに。
とりあえず次のようにやったらできました。
BufferedImage buffer;
public void paintComponent(Graphics g){
buf();
Graphics2D g2 = (Graphics2D)g;
g2.drawImage(buffer, 0, 0, this);
int a = getRGB(x, y);
(以下ピクセル識別処理)
}
public void buf(){
Dimension dim = new Dimension(500, 400);
buffer = new BufferedImage(dim.width, dim.height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = buffer.createGraphics();
(以下描画処理)
}
毎フレームこんなことやってたら重くなるかと思ったけど
意外とぬるぬる動いてくれたので一安心
今度はFPSの調節とかやってみていこう
といろいろ本やらネットやら漁ったけれどスマートな方法は見つからず。
BufferedImageに描画してgetRGBで色情報を読み取ることに。
とりあえず次のようにやったらできました。
BufferedImage buffer;
public void paintComponent(Graphics g){
buf();
Graphics2D g2 = (Graphics2D)g;
g2.drawImage(buffer, 0, 0, this);
int a = getRGB(x, y);
(以下ピクセル識別処理)
}
public void buf(){
Dimension dim = new Dimension(500, 400);
buffer = new BufferedImage(dim.width, dim.height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = buffer.createGraphics();
(以下描画処理)
}
毎フレームこんなことやってたら重くなるかと思ったけど
意外とぬるぬる動いてくれたので一安心
今度はFPSの調節とかやってみていこう