肖像图片定位错误?

时间:2016-03-05 10:43:41

标签: windows-10-mobile lumia-imaging-sdk

使用sdk 3,当我渲染从Windows 10手机拍摄的肖像照片时 它似乎被错误的方向拉伸。 怎么解决? 是Os bug还是Sdk bug?

        m_image = new Lumia.Imaging.StorageFileImageSource(file);
        m_renderer = new SwapChainPanelRenderer(m_image, panel);
        await m_renderer.RenderAsync();   

sample

1 个答案:

答案 0 :(得分:1)

确实如此,Lumia Imaging SDK在GPU上进行EXIF定位和渲染时似乎存在一个错误。

也就是说,有一个简单的解决方法。首次从StorageFile加载IImageProvider时,请创建一个临时位图并将其用作其他渲染操作中的源。这样,在最有限的可能情况下,您将只采用一次仅CPU渲染操作的惩罚。所有其他渲染操作都将以最佳方式加速GPU。

以下是使用StorageFile作为源时使用的辅助方法:

public static async Task<IImageProvider> CreateImageSourceFromFile(StorageFile file)
{
    using (var source = new StorageFileImageSource(file))
    using (var renderer = new BitmapRenderer(source) { RenderOptions = RenderOptions.Cpu })
    {
        var bitmap = await renderer.RenderAsync();
        return new BitmapImageSource(bitmap);
    }
}