2017-12-08 32 views
-2

문제점 :.NET과 C#을 사용하여 65k x 65k 크기와 24 비트 색상의 JPEG 이미지를 만드는 방법은 무엇입니까?

  1. 폭 : 65000
  2. 신장 65000
  3. 색상 심도

    다음 이미지 속성 비트 맵처럼 .NET 프레임 워크 클래스를 사용하여 큰 JPEG 이미지를 만들 수있는 방법이 없기 24 비트

  4. 압축 : proble의 JPEG

예 m 코드 :

Bitmap final = new Bitmap(65000, 65000, PixelFormat.Format24bppRgb); 

예상 결과 :

나는 솔루션이나 위에서 언급 한 특성을 가진 큰 만들 수있는 다른 코드에 대한 아이디어를 찾을 싶습니다.

실제 결과 :

문제 코드의 예는 단지

+0

한 걸음 물러서서 이것이 XY 문제 일 경우 왜해야하는지 설명하십시오. https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – mjwills

+2

GDI +는 메모리 매핑 된 파일의 최대 크기 인 2GB로 제한됩니다. WIC는 System.Windows.Media.Imaging 네임 스페이스를 더 잘 수행 할 수 있습니다. –

+0

WIC는 더 잘할 수 있습니다 -이게 무슨 뜻입니까? – Nick

답변

2

당신이 당신의 RAM에 저장해야하는 그런 이미지를 만들려면 메모리 부족 예외가 발생합니다. 이미지의 크기는 65000 * 65000 * 24 비트 ~ 12 기가 바이트! 시스템에 그러한 RAM 용량이 있습니까?

큰 이미지를 두려워하지 않으려면 작은 덩어리로 이미지를 만들고 ROM 메모리에 저장하는 것이 좋습니다. 하지만. NET Bitmap 클래스를 사용할 수 없습니다.

+1

@HansPassant 네, 맞아요. – rattrapper

+0

.Net Bitmap 클래스가 내 문제를 해결할 수 없으므로,이를 위해 스트림 클래스를 사용하여 Bitmap 클래스없이이 이미지를 만드는 방법에 대한 솔루션이 있어야합니다. – Nick

+0

@ 닉 가능할 수도 있지만 기성품 솔루션을 찾을 수 있는지 확신 할 수 없습니다. 직접 구현할 준비가 되십시오. – rattrapper