У меня есть приложение для обработки окон Windows 10. Я применяю фильтры на этом изображении и показывая его на элементе изображения. Вот как я применяю фильтр и устанавливаю его как источник для элемента MainImage.Как передать отфильтрованное изображение в UWP C#
ProcessImage processImage = new ProcessImage(sourcePixels, width, height);
byte[] blurEffect = processImage.BlurEffect(width, height);
WriteableBitmap blurImage = new WriteableBitmap((int)width, (int)height);
using (Stream stream = blurImage.PixelBuffer.AsStream())
{
await stream.WriteAsync(blurEffect, 0, blurEffect.Length);
MainImage.Source = blurImage;
}
До сих пор я установил образ WriteableBitmap для источника. Теперь я хочу поделиться этим изображением с использованием данных DataTransferManager запросили событие, как показано
dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested += DataTransferManager_DataRequested;
Тела его события, содержащего этот код
DataPackage dataPackage = args.Request.Data;
dataPackage.Properties.Title = "App Name";
dataPackage.Properties.Description = "My description";
dataPackage.SetBitmap();
На мероприятии доли нажатия кнопки, я звоню showshareUI как это
DataTransferManager.ShowShareUI();
Я пытаюсь разделить изображение, используя четвертую строку выше, что является SetBitmap метод, но проблема здесь этот метод хочет Random AccessStreamReference значение, и у меня есть отфильтрованное изображение типа writeablebitmap. Как я могу это сделать?
После получения потока и установки его в dataPackage.SetBitmap (поток); он показывает ошибку «Невозможно преобразовать из System.Threading.Tasks.Task <...> в Window.Storage.Streams.MemoryAccessStreamReferece –
убедитесь, что вы ожидаете метод, когда вы его вызываете. ie stream = wait Convert (...) – AlexDrenea
Я сделал это, теперь, когда я передаю результат в dataPackage.SetBitmap (result), он говорит, что не может преобразовать из IRandomAccessStream в RandomAccessStreamReference. –