내 컴퓨터를 다른 사람의 컴퓨터에서 실행 중인지 확인하려면 친구 컴퓨터에서 응용 프로그램을 테스트하고 싶습니다. (모든 라이브러리를 포함 했습니까?)DDS 파일을 처리 할 때 BitmapDecoder 크래시가 발생했습니다.
그러나 * .dds 텍스처를로드하면 응용 프로그램이 충돌합니다. 내 장면의 2D 배경에서 사용합니다.
using (SharpDX.WIC.BitmapDecoder bitmapDecoder = new SharpDX.WIC.BitmapDecoder(ImagingFactory, new MemoryStream(iconInfo.Data, false), SharpDX.WIC.DecodeOptions.CacheOnDemand))
{
using (SharpDX.WIC.FormatConverter formatConverter = new SharpDX.WIC.FormatConverter(ImagingFactory))
{
formatConverter.Initialize(bitmapDecoder.GetFrame(0), SharpDX.WIC.PixelFormat.Format32bppPRGBA, SharpDX.WIC.BitmapDitherType.None, null, 0.0, SharpDX.WIC.BitmapPaletteType.Custom);
SharpDX.DataStream dataStream = new SharpDX.DataStream(formatConverter.Size.Height * formatConverter.Size.Width * 4, true, true);
formatConverter.CopyPixels(formatConverter.Size.Width * 4, dataStream);
_icons.Add(iconInfo.Name, new SharpDX.Direct2D1.Bitmap(renderTarget, new SharpDX.Size2(formatConverter.Size.Width, formatConverter.Size.Height), dataStream,
formatConverter.Size.Width * 4, bitmapProperties));
}
}
"iconInfo.Data"는 DDS 텍스처의 데이터 바이트가된다 : 여기 비트 맵로 DDS를 텍스처를로드하고 변환하는 데 사용하고있는 코드입니다.
던져진 예외가
SharpDX.SharpDXException: HRESULT: [0x88982F50], Module: [SharpDX.WIC], ApiCode: [WINCODEC_ERR_COMPONENTNOTFOUND/Componentnotfound], Message: Unknown
at SharpDX.Result.CheckError()
at SharpDX.WIC.ImagingFactory.CreateDecoderFromStream_(IntPtr streamRef, Nullable`1 guidVendorRef, DecodeOptions metadataOptions, BitmapDecoder decoderOut)
at SharpDX.WIC.BitmapDecoder..ctor(ImagingFactory factory, Stream streamRef, DecodeOptions metadataOptions)
당신이 문제를 일으키는 어떤 생각을 가지고 있습니까?
아이디어가 없습니까? 아무도? : '- ( – Endgegner85
WINCODEC_ERR_COMPONENTNOTFOUND는 이미지 디코딩을 시도 했으므로 적합한 코덱이 설치되어 있지 않음을 의미합니다. 어떤 Windows 버전을 테스트하고 있습니까? Windows 사진 뷰어에서 DDS 파일을 열 수 있습니까? – saucecontrol
내 컴퓨터에서 (내 친구는 "Microsoft Windows 7 Home Premium, 64 비트, 버전 6.1.7601"을 사용하여 컴퓨터에서 내 게임을 테스트했습니다. – Endgegner85