2009-07-29 7 views
2

이미지 값을 복사하려고하는데 두 번째로 마지막 이미지를 무시하고 보존 된 이미지 값 위에 다시 그립니다. 예 :System.Drawing.Image 값을 복사하는 방법?

Image with 4 rectangle (ImageA) 
-> draw a circle 
return to ImageA 
-> draw a rectangle 
now there are 5 rectangles 

그리는 것이 가장 적합한 방법인지 모르겠습니까?

+0

귀하의 의도에 대한 정보를 조금 더 제공해 주시겠습니까? 이미지 편집을위한 간단한 실행 취소/다시 실행 프레임 워크를 만들려고하고 있습니까? – jrista

+0

감사합니다. 이미 그려진 비트 맵에 새로운 도형을 그리려고합니다. 그래서 나는 내 물건을 다시 그리고 싶지 않아. 꼭대기에 단 하나의 새로운 형태 만 추가하십시오. –

답변

0

새 비트 맵을 만들고 그 위에 Graphics 개체를 놓은 다음 임시 비트 맵 위에 ImageA를 그리고 그 위에 원을 그릴 수 있습니다. 작업이 끝나면 임시 비트 맵을 처리하고 ImageA에 그림을 그릴 수 있습니다.

+0

당신은 Graphics.FromImage를 의미합니까? –

4

나는 블라인디에 동의합니다. 새 Image 객체를 만들고 초기 이미지를 보존하면서 ontop을 그립니다.

Bitmap myBitmap = new Bitmap("C:\\<path"); 
Image myImage = (Image)myBitmap.Clone(); 

이는 다음은 여전히로드 한 원본 이미지를 보존 반면에 그리기 할에 대한 새로운 이미지 객체를 생성합니다.

+0

감사하지만 메모리의 System.Drawing.Image처럼 이미지 저장소 만 있습니다. 이 값을 사용하여 새로운 Image 값으로 전달할 수 있습니까? –

+0

죄송합니다. 우리는 비트 맵으로 이미지를로드하고 있다고 생각합니다. 물론 네가하는 일을 할 수있다. 이미지 imageA로 시작하여 그 이미지를 새로운 객체에 복사하려고한다고 가정하면, 코드는 위와 같지만 캐스팅은 남지 않습니다. 이미지 myImage = imageA.Clone(); –

관련 문제