2011-12-27 8 views
1

"mousedown"이벤트가있는 400x300 picturebox가 있는데, mouseclick 대신 빨간색으로 채워진 일부 타원이 그려집니다. 문제는 내가 지금, 나는 모든 단일 픽셀의 색상을 배열에 넣고 싶습니다. 거기에 3 가지 색상, 검정색 (0,0,0, RGB), 빨간색 (255,0,0) 및 (255,255,255)입니다. 질문은 어떻게하면 전체 화면 상자를 실행하고 색상 값을 가져올 수 있습니까? 사용할 수있는 "getPixel"이 없습니다. 나는PictureBox 그리기 이미지의 색을 배열

Bitmap zdjecie_box = new Bitmap(pictureBox1.Image) 

를 비트 맵에 PictureBox의 이미지를 전달하는 시도했지만 이미지가 제대로 (널) 비어라고, 그래서 내가 drawed 이미지 밤은 다른 곳에서 이미지입니다에 저장하지만 같아요. 나는 그것을 원했고, 그 다음에 나는 단지 zdjecie_box.GetPixel(i, j).R;을 사용하여 배열에 저장했다.

아이디어가 있습니까?

답변

1

자신의 이미지를 정의하고 그리기 이벤트에서 설정 한 경우 쉽게 액세스 할 수 있습니다. 예 :

Bitmap _b; 
private void Form1_Paint(object sender, PaintEventArgs e) 
{ 
    _b = new Bitmap(pictureBox1.Width, pictureBox1.Height); 
    Graphics g = Graphics.FromImage(_b); 
    g.DrawEllipse(Pens.Black,new Rectangle(0,0,25,25)); 
    pictureBox1.Image = _b; 
} 
... 
private void ParseImage() 
{ 
    for (int y = 0; y < _b.Height; y++) 
    { 
     for (int x = 0; x < _b.Width; x++) 
     { 
      Color c = _b.GetPixel(x, y); 
     } 
    } 
    } 
+0

나는 당신을 지금 사랑한다고 생각합니다. 고맙습니다 :) – Kedor

관련 문제