ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

カム機構2

2010年01月05日 03時24分36秒 | ソフト開発日記
パネル上の任意の点のピクセル情報(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の調節とかやってみていこう