@Dipumon После просмотра вашего профиля - когда один из ответов решит проблему, не забудьте принять его (зеленая галочка рядом с ответом), это удалит вопрос из очереди без ответа.

отаю над универсальным приложением Windows в Windows 10 SDK, чтобы нарисовать прямоугольник на лицах, распознанных на изображении.

Я использую Win2D для редактирования изображений и рисования прямоугольника на нем. Я могу читать файлы из библиотеки «Изображения», но при попытке сохранить изображение после редактирования выдается следующая ошибка:

В доступе отказано. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))

Ниже приведен метод, который я использовал для рисования прямоугольника на изображении:

private async void DrawRect()
    {
        CanvasDevice device = CanvasDevice.GetSharedDevice();
        CanvasBitmap bitmap = null;
        CanvasRenderTarget offscreen = null;

        Windows.Storage.StorageFile photofile = await KnownFolders.PicturesLibrary.GetFileAsync("image.jpg");

        if(photofile != null)
        {
            using (var stream = await photofile.OpenReadAsync())
            {
                bitmap = await CanvasBitmap.LoadAsync(device, stream);
            }
        }

        if(bitmap != null)
        {
            offscreen = new CanvasRenderTarget(device, bitmap.SizeInPixels.Width, bitmap.SizeInPixels.Height, 96);
            using (var ds = offscreen.CreateDrawingSession())
            {
                ds.Clear(Colors.Transparent);
                ds.DrawImage(bitmap);
                ds.DrawRectangle(25, 35, 270, 352, Colors.Blue,4);
            }

            var photoFile = await KnownFolders.PicturesLibrary.CreateFileAsync("image2.jpg", CreationCollisionOption.ReplaceExisting);                        

            if (photofile != null)
            {
                await offscreen.SaveAsync(photofile.Path);
            }              

            //await offscreen.SaveAsync(photoFile.Path);*/
        }
    }

Исключение выдается в последней строке за кадром. SaveAsync.

Трассировка стека для вышеуказанной ошибки:

в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача-задача) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача-задача) в System.Runtime.CompilerServices.TeskAxt_Fence ()

Я установил права доступа к папкам с изображениями в файле appmanifest.

Нужно ли устанавливать некоторые дополнительные разрешения для сохранения образа на диске.

Та же ошибка возникает при попытке сохранить изображение в любом другом месте.

Ответы на вопрос(1)

Ваш ответ на вопрос