Я получаю изображение с помощью URI (веб или файловой системы), и хочу, чтобы кодировать его в PNG и сохранить во временный файл:UWP закодировать изображение PNG
var bin = new MemoryStream(raw).AsRandomAccessStream(); //raw is byte[]
var dec = await BitmapDecoder.CreateAsync(bin);
var pix = (await dec.GetPixelDataAsync()).DetachPixelData();
var res = new FileStream(Path.Combine(ApplicationData.Current.LocalFolder.Path, "tmp.png"), FileMode.Create);
var enc = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, res.AsRandomAccessStream());
enc.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Ignore, dec.PixelWidth, dec.PixelHeight, 96, 96, pix);
await enc.FlushAsync(); //hangs here
res.Dispose();
проблема, этот код висит на await enc.FlushAsync()
линия. Пожалуйста, помогите! Благодарю.
ли этот код запускается в потоке пользовательского интерфейса или в фоновом потоке? –
Его вызванный из обработчика событий так что поток пользовательского интерфейса – Tsayper