|
分類:[Java]
はじめまして、アルといいます。
質問させてください。
今、自分はGUIを使って、画像を読み込んで表示、
そして、マウスでクリックした部分の色と同じ色の部分を
黒で塗りつぶす、というプログラムを作ろうと思っているのですが、
public class GazouHyoujiSample extends JPanel implements MouseListener{
@Override
protected void paintComponent(Graphics g) {
g.drawImage(image_, 0, 0, this);
}
public GazouHyoujiSample(BufferedImage image) {
image_ = image;
Dimension size = new Dimension(image.getWidth(), image.getHeight());
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
addMouseListener(this);
}
public static void main(String[] args) {
JFrame frame = new JFrame("画像変換サンプル");
frame.setBounds(0, 0, 400, 400);
BufferedImage image = null;
try {
image = ImageIO.read(new File("./images/parrots.png"));
} catch (IOException e) {
e.printStackTrace();
}
frame.add(new GazouHyoujiSample(image));
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private BufferedImage image_;
int x_,y_;
public void mouseClicked(java.awt.event.MouseEvent a) {
x_ = a.getX();
y_ = a.getY();
System.out.println(x_+" "+y_);
}
}
コレで何とか画像の読み込み、表示、クリックした部分の座標の取得はできたんですが、
その座標を使って、その部分の色を取得する方法が分かりませんでした。
ネットを使って調べたり、イクリプスの保管を利用してgetやcolorが付いている物を調べたんですが
良い方法が出てきませんでした。
自分の検索方法が拙いのかもしれませんが、どなたか良い方法をご教授いただけませんか?
よろしくお願いします。
|