UWP - размер изображения не изменяется в метаданных после изменения размера - PullRequest
0 голосов
/ 03 сентября 2018

Мне удалось изменить размер изображения в приложении UWP, и когда я открываю изображение, оно имеет правильный размер, но проблема в том, что метаданные изображения все еще показывают исходное значение размера изображения.

Должны ли метаданные изображения быть изменены в какой-то момент?

Большое спасибо за вашу помощь!

Вот код, который я использую:

 private async Task ResizeFile(StorageFile resizedFile, StorageFile sourceFile, int width, int height)
 {
        var imageStream = await sourceFile.OpenReadAsync();

        var decoder = await BitmapDecoder.CreateAsync(imageStream);

        // get original picture size
        int originalWidth = (int)decoder.PixelWidth;
        int originalHeight = (int)decoder.PixelHeight;

        // calculate aspect ratio
        var ratioX = (float)width / (float)originalWidth;
        var ratioY = (float)height / (float)originalHeight;

        int newWidth = width;
        int newHeight = height;

        var ratio = Math.Min(ratioX, ratioY);

        if (ratio != 0)
        {
            newHeight = (int)(originalHeight * ratio);
            newWidth = (int)(originalWidth * ratio);
        }

        using (var resizedStream = await resizedFile.OpenAsync(FileAccessMode.ReadWrite))
        {
            var encoder = await BitmapEncoder.CreateForTranscodingAsync(resizedStream, decoder);

            encoder.BitmapTransform.InterpolationMode = BitmapInterpolationMode.Linear;
            encoder.BitmapTransform.ScaledHeight = (uint)newHeight;
            encoder.BitmapTransform.ScaledWidth = (uint)newWidth;

            await encoder.FlushAsync();
        }
}
...