Это правда, там, кажется, ошибка в Lumia изображений SDK, когда дело доходит до EXIF ориентации и рендеринга на GPU.
Это очень простой способ обхода проблемы. Когда вы сначала загружаете IImageProvider из StorageFile, создавайте временное растровое изображение и используйте это как источник в других ваших операциях рендеринга. Таким образом, вы будете выполнять только операцию рендеринга только с процессором один раз в наиболее ограниченном сценарии. Все ваши другие операции рендеринга будут оптимально ускорены.
Вот вспомогательный метод для использования при использовании 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);
}
}
Проблемы швов быть видеочип, используя RenderOptions.Cpu показать хорошую картину. Но, к сожалению, моя цель - использовать Gpu shader ... – yannis
вам повезло с этим? –
@EricLiprandi Я использую опцию cpu для получения меньшего изображения, затем используйте Gpu – yannis