디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

3일째 이거 붙잡고 있어 형들..

개초짜(119.198) 2013.03.25 00:56:18
조회 97 추천 0 댓글 2


import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Panel;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import javax.swing.*;

 

public class ImageCanvas extends Frame implements ActionListener {
   private Button openButton; // 버튼
   private Image image; // 이미지
   private TextField point;
   Graphics gbuf;
 
   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;
        }
      }
      );
    
    
    //프레임에 배치
     
      openButton = new Button("Load Image");
      pnl.add(openButton);
      add(point,"North");
         
      openButton.addActionListener(this);
      this.add(pnl, BorderLayout.SOUTH);
      this.setVisible(true);
  
}
protected static int getRGB(int x, int y) {
    // TODO Auto-generated method stub
    return 0;
}
// 버튼 눌렸을 때 처리
   public void actionPerformed(ActionEvent ae) {
      if (ae.getSource() == openButton) {
         // 파일 선택 다이얼로그 생성
         FileDialog fd = new FileDialog(this);
         fd.setTitle("Select Image");
         fd.setSize(300, 100);
         fd.setVisible(true);
         // 파일 선택 후 이미지 불러오기
         loadImage(fd.getDirectory() + fd.getFile());
      }
   }
 //이미지 불러오기
   private void loadImage(String filePath) {
       //파일 다이얼로그로부터 선택된 파일 경로로 이미지 파일 생성
       Image img = Toolkit.getDefaultToolkit().getImage(filePath);
       //null이 아니면 전역 변수에 할당
       if (img != null) {
           image = img;
         
           //이미지 새로 그리기
           repaint();
       }
   }
   //그리는 메소드
   public void paint(Graphics g) {
       //이미지가 null이 아니면 이미지 그리기
       if (image != null)
           //파라미터: 이미지, X좌표, Y좌표, 이미지 관찰자(생략 가능)
           //g.drawImage(image, 0, 50, this);
           //파라미터: 이미지, X좌표, Y좌표, 이미지 가로 크기, 이미지 세로 크기, 이미지 관찰자(생략 가능)
           //this는 Frame을 상속받은 ImageCanvas 객체 자체로서

           //Frame으로부터 상속받은 가로와 세로의 크기를 알 수 있는 메소드를 사용 가능합니다.

           g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), this);
   }

   public static void main(String[] args) {
      new ImageCanvas();
    
   }
}



근데   public BufferedImage imageToBufferedImage(Image im) {   여기서 오류뜸..


이거 이미지를 띄워서 클릭이벤트로 좌표구해서 RGB값 구하려는건데... 좌표구하는거까진 했는데...ㅠㅠㅠ 안되네...
자바좀 할줄아는형들 조언도 갠찮고 뭐 해주면 좋겠지만 그럴 형들은 없응게 조언이라도 부탁해... 시벅거 3일동안 별로 진행률이없어 ㅠㅠ

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 모태 솔로도 구제해 줄 것 같은 연애 고수 스타는? 운영자 25/07/21 - -
AD 곧 휴가!! 홈캉스, 바캉스 SALE 운영자 25/07/21 - -
350170 사실 난 원화가가 되려고 했는데..... [3] 1234124213(211.189) 13.03.18 61 0
350169 다들 10년 전으로 돌아가면 어떻게 할 생각인가여 [5] 야간편돌이(175.116) 13.03.18 90 0
350164 학교 다니면서 따로 공부하는 시간은 어떻게 만듬? [2] 야간편돌이(175.116) 13.03.18 71 0
350161 형들 공부 한시간도 안 하는 날 있음?? [3] 야간편돌이(175.116) 13.03.18 79 0
350160 학교에서 시간을 어찌써야할까 [4] 백이.갤로그로 이동합니다. 13.03.18 46 0
350159 나도 1학년때 a보다 a+이 많았는데 [6] 야간편돌이(175.116) 13.03.18 121 0
350157 아 핏자 참 인증... [2] DART(116.41) 13.03.18 1150 0
350156 PATH 변수 설정 어찌할까요(119.198) 13.03.18 41 0
350155 big data 다루는 업무쪽으로 진로를 생각한다면 대형기업을 가야하나요 [2] 수수(220.117) 13.03.18 114 0
350154 진짜로 여자들이 차이나는 이유는.진지 DART(116.41) 13.03.18 49 0
350152 codesafer행님을 [2] 백이.갤로그로 이동합니다. 13.03.18 87 0
350150 근데 safer형 함수형언어에 대해 어떻게 생각해? [2] DART(116.41) 13.03.18 74 0
350149 며칠만에눈팅왓는데 프갤 글리젠수랑 수준 클라스가 달라졋네 암살상향좀(223.33) 13.03.18 52 0
350148 문제좀 간단하게 내줭 백이.갤로그로 이동합니다. 13.03.18 42 0
350145 님들 프로그래밍할때 장치별 처리속도같은거 중요함? [1] 야간편돌이(175.116) 13.03.18 59 0
350144 프로그래머 취직 전문대가 일반대한테 많이 꿇림? [3] 123(121.155) 13.03.18 139 0
350141 레노미나횽 처음 왔을 때 보는거 같다. [1] 생물학(120.50) 13.03.18 66 0
350140 C배우고나서 C++안배우고 VC++배우기 [7] 야간편돌이(175.116) 13.03.18 104 0
350139 고점성 물질 구현된 물리엔진 있음? [1] 생물학(120.50) 13.03.18 69 0
350138 여자 개발자 모임 센터 d(125.177) 13.03.18 65 0
350136 printf 와 write 함수 성능비교 질문좀요 [13] ㅅㅌㅇ(175.214) 13.03.17 213 1
350135 오늘 내가짠 코드 보고있는데... LastCorona갤로그로 이동합니다. 13.03.17 48 0
350134 형들 c++입문한 초본데요 [9] 손잭스(202.31) 13.03.17 138 0
350133 VC 2010한글 [11] 백이.갤로그로 이동합니다. 13.03.17 85 0
350132 휴대폰 액정에 멍이 들었는데 못 바꾸고 있다 [10] 에어로홍갤로그로 이동합니다. 13.03.17 96 0
350131 확실히 codesafer횽 오고 나서 프갤 클라스가 올라감 [2] dd(1.214) 13.03.17 132 0
350130 serializing and deserializing 무슨뜻인가요? [2] 근성가이(211.237) 13.03.17 109 0
350128 징기즈칸 어그로 그리 끌어대더니 성공하고 가네 [2] Colombia갤로그로 이동합니다. 13.03.17 88 0
350126 자바서버 개발해본사람답변좀 [7] ttp(110.47) 13.03.17 105 0
350125 가비다 영자님?? 저 웹 배우고싶은데 html 강의좀 후딱올려주시죠 [2] dd(118.221) 13.03.17 74 0
350124 자야할 시간이다.. [4] ㅋㄱ(183.96) 13.03.17 60 0
350123 안녕하십니까 프갤형님들 좋은 밤입니다. [3] ㅎㅋㅋㅋ(59.152) 13.03.17 127 0
350122 삼성전자 소프트웨어 R&D센터 서초구에 착공했음여 [5] 수수(220.117) 13.03.17 285 0
350119 자칭 왕의 소유자 백왕님의 위치를 밝혀보자 [8] 에어로홍갤로그로 이동합니다. 13.03.17 153 0
350118 형들 개발자 커뮤니티 사이트 만들었어 평가좀요ㅠㅠ [19] ㅠㅠ우잉(203.250) 13.03.17 242 0
350114 ㅇㅇ형 파일 다 보냈어요 [4] 징기스칸4(112.140) 13.03.17 80 0
350111 ㅇㅇ형 파일 보낸거 사용법 [10] 징기스칸4(112.140) 13.03.17 144 0
350110 백왕님 마포구 사시나요? [3] 에어로홍갤로그로 이동합니다. 13.03.17 91 0
350109 웹에서 특정영역만 화면 움직일수잇게 하는법좀 [3] wefw(175.215) 13.03.17 78 0
350108 16년 전에 여자친구랑 통화할때 [10] ㅇㅇ(119.203) 13.03.17 214 0
350107 아니시발아아아ㅏ tcp인데 왜패킷이 증발하는거야 ㅅㅂㅅㅂ [3] ttp(110.47) 13.03.17 72 0
350105 ㅇㅇ형 정말 감사합니다. 통한의 눈물을흘립니다 [7] 징기스칸4(112.140) 13.03.17 146 0
350103 4명이서 할 프로젝트좀 추천해줭 [5] 미드고구마갤로그로 이동합니다. 13.03.17 115 0
350102 ㅇㅇ형 제발 제 부탁 한번만 들어주세요 [5] 징기스칸4(112.140) 13.03.17 108 0
350101 북한 네트워크 다운됨 ㅋㅋㅋㅋㅋㅋ [1] 입에붙는거갤로그로 이동합니다. 13.03.17 94 0
350099 4명이서 할 프로젝트 추천점 [2] aa(1.235) 13.03.17 59 0
350098 c언어 일차원배열 관한문제인데ㅠ [4] 으악(49.143) 13.03.17 62 0
350097 요즘 황사임? [3] LastCorona갤로그로 이동합니다. 13.03.17 45 0
350096 형님들 제발 도와주세요 이제 갓 컴퓨터 공학에 입학한 신입생인데 시작부터 [5] 입문자임니다(183.91) 13.03.17 316 0
350094 ㅇㅇ횽한테 궁금한게 한가지 있는데,, [2] ㅁㄴㅇ(211.211) 13.03.17 80 0
뉴스 [조선의 사랑꾼] ‘늦깎이 아빠’ 최성국, 자연임신 둘째 성별 ‘딸’ 공개! 김국진 ‘촉’ 적중…“흐름이란 게 있어!” 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2