Как скопировать и изменить размер изображения в Windows 10 UWP

Я использовал код изhttp://www.codeproject.com/Tips/552141/Csharp-Image-resize-convert-and-save изменить размер изображения программно. Тем не менее, этот проект используетSystem.Drawing библиотеки, которые недоступны для приложений Windows 10.

Я пытался использоватьBitmapImage класс отWindows.UI.Xaml.Media.Imaging вместо этого, но он, кажется, не предлагает функциональность, которая была найдена вSystem.Drawing..

Кому-нибудь повезло с возможностью изменения размера (уменьшения) изображений в Windows 10? Мое приложение будет обрабатывать изображения из разных источников, в разных форматах / размерах, и я пытаюсь изменить размеры реальных изображений для экономии места, а не просто позволить приложению изменить его размер в соответствии сImage в котором это отображается.

РЕДАКТИРОВАТЬ

Я изменил код из вышеупомянутой ссылки, и у меня есть взлом, который работает для моей конкретной необходимости. Вот:

public static BitmapImage ResizedImage(BitmapImage sourceImage, int maxWidth, int maxHeight)
{
    var origHeight = sourceImage.PixelHeight;
    var origWidth = sourceImage.PixelWidth;
    var ratioX = maxWidth/(float) origWidth;
    var ratioY = maxHeight/(float) origHeight;
    var ratio = Math.Min(ratioX, ratioY);
    var newHeight = (int) (origHeight * ratio);
    var newWidth = (int) (origWidth * ratio);

    sourceImage.DecodePixelWidth = newWidth;
    sourceImage.DecodePixelHeight = newHeight;

    return sourceImage;
}

Этот способ, кажется, работает, но в идеале, а не изменение оригиналаBitmapImageЯ хотел бы создать новый / копию этого, чтобы изменить и вернуть вместо этого.

Вот снимок этого в действии:

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

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