2013-04-16 4 views
0

에 비트 맵의 ​​내용을 붙여 넣습니다. 선택 도구를 사용할 때 Panel의 특정 영역을 선택하고이 영역을 Panel 오른쪽에있는 PictureBox에 직접 붙여 넣을 수 있기를 원합니다.나는 현재 사용자가 패널에 그릴 수있는 작은 페인트 응용 프로그램을 쓰고 있어요 PictureBox를

내 문제는 현재 코드가 실제로 작동하지 않는다는 것입니다. 실제 이미지 대신 PictureBox에 큰 빨간색 X가 표시되는 패널에서 비트 맵을 붙여 넣으려고 할 때입니다. 나는 내가 JPEG로 디스크에 저장 한 다음 이미지를보고 주변에 몇 가지 코드를 퍼팅 시도하기 때문에 이미지가 제대로 비트 맵에 복사하는 것을 알고, 모든 잘 표시입니다. 여기

내 코드입니다 :

private void tbCopy_Click(object sender, EventArgs e) 
{ 
    int width = selectList[0].getEnd().X - selectList[0].getInitial().X; 
    int height = selectList[0].getEnd().Y - selectList[0].getInitial().Y; 

    using (Bitmap bmp = new Bitmap(width, height)) 
    { 
     pnlDraw.DrawToBitmap(bmp, new System.Drawing.Rectangle(
             selectList[0].getInitial().X, 
             selectList[0].getInitial().Y, 
             width, height)); 
     pbPasteBox.Image = bmp;    
    } 
} 

폭과 높이 나는 복사 할 영역의 단지 크기, 그리고 selectList의이 지역의 좌표를 포함하는 하나의 객체를 포함하는 목록입니다 I 복사하고 싶습니다.

도움을 주시면 감사하겠습니다.

+0

첫번째 생각을 해결해야 Bitmap bmp = new Bitmap(width, height)을 가지고, 편집, 제거? – Sayse

+0

사용을 제거 하하 하하! 도움을 주셔서 감사합니다 Sayse! – si2zle

+0

걱정할 필요는 없습니다;) 좀 더 자세한 설명을 드리겠습니다 : P – Sayse

답변

5

귀하의 문제는 사용 괄호 내부의 코드가 더 이상 간주 필요로 처리되어 내부 개체()를 완료 할 때 using(){}입니다.

은 단순히 당신이 당신의 사용 브래킷을 꺼내 경우 발생하는 중괄호 당신의 비트 맵이 쓰레기 수집되고있는 것이 문제

관련 문제