public ImageCanvas() {
makeUI();
}
// UI 구성
private BufferedImage makeUI() {
this.setTitle("Image Canvas");
this.setLayout(new BorderLayout());
this.setSize(800, 800);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
}
);
// 이미지 불러오기 버튼
Panel pnl = new Panel();
point = new TextField(10);
setBackground (Color.gray);
public BufferedImage imageToBufferedImage(Image im) {
BufferedImage bi = new BufferedImage
(im.getWidth(null),im.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics bg = bi.getGraphics();
bg.drawImage(im, 0, 0, null);
bg.dispose();
return bi;
}
this.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e){
point.setText("X:"+e.getX() + "Y:" + e.getY());
int ImgRGB = imageToBufferedImage(image).getRGB(e.getX(), e.getY()); // 이미지 좌표별 RGB값 추출
int red = (ImgRGB & 0x00FF0000) >> 16;
// 2^8으로 구성되어있는데, RGB로 구성있기 때문에 16만큼 쉬프트하면 RED
// 8만큼 쉬프트 하면 G
// 쉬프트를 하지 않으면 B 값을 추출할 수 있습니다.
// [R=2^8] [B=2^8] [G]
int green = (ImgRGB & 0x0000FF00) >> 8;
int blue = (ImgRGB & 0x000000FF);
point.setText("r: "+red+" ,g: "+green+" , b: "+blue);
}
private int getRGB(int x, int y) {
// TODO Auto-generated method stub
return 0;
}
}
);
머야 [i]
으잌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ알앗어 ㅋㅋㅋ 안되면 걍 교수님테 가서 도저히 안되겠다고 해야겠다 ㅋㅋㅋ 고마웠어 코세형!!!