2013-08-22 3 views
1

사진을 처리하는 큰 응용 프로그램에서 작업합니다. 응용 프로그램에서 ColorConvertedBitmap 클래스의 인스턴스를 500 개 이상 만들 수있는 경우가 있습니다. 불행히도 501, 502, ... 인스턴스를 만들 때 항상 실패합니다. "Bitmap color context is not valid."라는 메시지와 함께 FileFormatException이 발생합니다. 그러나 모든 인스턴스에 대해 동일한 소스 및 대상 색상 컨텍스트를 사용하고 첫 500 인스턴스가 실패하지 않습니다. .NET Framework \ OS의 색상 관리 하위 시스템에 버그가 있거나 리소스 제한이 있습니까?500 라이브 인스턴스가있을 때 ColorConvertedBitmap 구성이 실패합니다.

다음 코드 단편 내 컴퓨터에 문제가 재생 [EDIT]

:

var files = Directory.GetFiles(folderBrowserDialog.SelectedPath, "*.*", SearchOption.TopDirectoryOnly); 
ColorContext sourceColorContext = new ColorContext(new Uri(@"d:\!work\ICC\AdobeRGB1998.icc")); 
ColorContext destinationColorContext = new ColorContext(new Uri(@"d:\!work\ICC\sRGB Color Space Profile.icm")); 
foreach (var file in files) 
{ 
    BitmapImage image = new BitmapImage(new Uri(file)); 
    ColorConvertedBitmap coloredBitmap = new ColorConvertedBitmap(image, sourceColorContext, destinationColorContext, image.Format); 
    this.bitmaps.Add(coloredBitmap); 
} 

P.S. 내가 사용하는 Windows 8

+0

, 당신은 당신의 코드는 여기에 넣을 수 있습니다? –

+0

Google 안경은 Microsoft 기술을 접하는 모든 콘텐츠를 무시합니다. 지금 시도해보십시오;) –

+0

EXE 프로젝트의 플랫폼 대상 설정을 AnyCPU로 변경하고 VS2012 +에서 "Prefer 32-bit"를 해제 한 다음 다시 시도하십시오. –

답변

관련 문제