SharpDX Bitmap.FromWicBitmap错误的结果

时间:2013-10-15 15:59:34

标签: bitmap windows-runtime sharpdx

我正在将SharpDX用于我的WinRT应用程序。对于像素着色器,我尝试使用此代码加载图像

private Bitmap LoadImage(System.IO.Stream stream)
{
  var bitmapDecoder = new SharpDX.WIC.BitmapDecoder(
        this.deviceManager.WICFactory,
        stream,
        SharpDX.WIC.DecodeOptions.CacheOnLoad);

  var converter = new SharpDX.WIC.FormatConverter(this.deviceManager.WICFactory);
  converter.Initialize(
        bitmapDecoder.GetFrame(0),
        SharpDX.WIC.PixelFormat.Format32bppPBGRA,
        SharpDX.WIC.BitmapDitherType.None,
        null,
        0.0f,
        SharpDX.WIC.BitmapPaletteType.Custom);

  return Bitmap.FromWicBitmap(this.deviceManager.ContextDirect2D, converter);
}

它在模拟器或带有Intel CPU的平板电脑上运行完美(例如Acer Iconia)。但是在使用ARM处理器(Windows Surface,Asus)的平板电脑上我有一个奇怪的错误。 Bitmap.FromWicBitmap返回一个Bitmap对象,它不是null,有正确的DPI和PixelFormat信息,但Size.Width和Size.Height为0.没有异常发生,但加载的Bitmap没有数据( - >黑色图像)。要加载的图像是普通的jpg或png文件,并且具有小尺寸(f.e.256x1像素)。 我忘了什么吗?谢谢你的回答。

0 个答案:

没有答案