이미지로 GDI의 영역 객체를 채울 수 있습니까?
영역을 채울 수 없으며 픽셀을 저장하지 않습니다. 거의 확실하게 여기서 찾고있는 것은 Graphics.Clip 속성입니다. 영역을 할당하고 이미지를 그릴 때 영역에 의해 잘립니다.
비트 맵이 아닌 그래픽 객체에서 단일 픽셀을 읽고 설정할 수 있습니까?
아니요, Graphics 객체는 픽셀 자체를 저장하지 않으며 그리는 위치 만 추적합니다. Windows의 "장치 컨텍스트"가 말합니다. 어떤 비트 맵, 화면, 프린터, 메타 파일 수 있습니다. 이러한 장치 컨텍스트 중 일부는 그리기 후에 픽셀을 다시 읽을 수있는 것은 아닙니다 (예를 들어, 메타 파일이 아닌 프린터가 아닙니다). 그러나 물론 비트 맵을 그릴 때 문제는 없습니다.
GDI의 전반적인 성능 향상에 대한 조언이 있으십니까?
중요한 하나가 있습니다.NET을 매우 쉽게 감상 할 수 있습니다. 그리는 비트 맵의 픽셀 형식은 매우 중요합니다. 비트 맵으로 할 수있는 가장 비싼 일은 입니다. CPU 메모리에서 비디오 어댑터의 메모리로 복사됩니다. 이 복사본은 픽셀 형식이 비디오 어댑터에서 사용하는 형식과 정확히 일치하는 경우에만 빠릅니다. PixelFormat.Format32bppPArgb 인 모든 최신 기계에서. 차이는 크다. 열 다른 모든 것보다 빠르다.
스택 오버플로가 너무 광범위합니다. 우선 질문 당 하나의 질문을하십시오. 첫 번째 두 개는 괜찮습니다 (현재 가지고있는 모든 코드 샘플). 세 번째는 분명히 * 너무 광범위합니다. – BradleyDotNET