이미지의 하단 25 %을 잘라내려고하지만 '메모리 부족'예외가 발생합니다. 내 코드와 리서치를 테스트 한 결과,이 예외는 내 좌표가 범위를 벗어남으로써 순전히 던져지고 있음을 알 수 있습니다.복제 후 System.Drawing.Rectangle을 사용하여 이미지를 자르면 '메모리 부족'예외가 발생합니다.
나는 폭이 400px이고 높이가 250px 인 bmp라는 이미지가 있습니다. 나는
PixelFormat = bmp.PixelFormat;
Bitmap CroppedImage = bmp.Clone(new System.Drawing.Rectangle(0, 250, 400, 62), bmpFormat);
이
나 제공합니다 ... 다음 코드로 자르기 오전 : '예외 정보를 : System.OutOfMemoryException를 : 메모리 부족.' 내 코드가 작성된 경우 상단이 아래로 왼쪽에서그러나 ...
PixelFormat = bmp.PixelFormat;
Bitmap CroppedImage = bmp.Clone(new System.Drawing.Rectangle(0, 0, 400, 62), bmpFormat);
내 이미지는 반드시 나에게 아무 의미 나에게하는 (즉, 내가 상위 25 %를 얻고있다) 잘립니다 나는 이것을하기 위해 높이가 -62가 아닌 62로 설정해야 할 것입니다.
만약 누군가가 나를 향해이 점에 대한 답을 지적 해 준다면 멋질 것입니다!
범위를 벗어난 좌표를 전달할 때 실제로 어떤 결과가 예상되는지 또는 그 이유가 무엇인지는 분명하지 않습니다. 좋은 [mcve]의 부족은이 명확성의 부족을 악화시킵니다. 그러나 비트 맵 좌표계가 원점을 이미지의 왼쪽 하단에 놓는 것처럼 당신이 오해하고있는 것처럼 들립니다. .NET 컨텍스트의 표준 비트 맵이 아닌이 경우입니다. 원점은 왼쪽 위이며 Y 좌표는 값이 아래쪽으로 증가합니다. 이것이 궤도에 서기에 충분하지 않은 경우 질문을 상당히 개선해야합니다. –