예제 #1
0
        public static async Task <byte[]> EncodeToSquareJpegImageAsync(StorageFile inputFile, uint size, double dpi = 72)
        {
            var inputStream = await inputFile.OpenReadAsync();

            var decoder = await BitmapDecoder.CreateAsync(inputStream);

            using (var inMemoryRandomAccessStream = new InMemoryRandomAccessStream())
            {
                var encoder = await BitmapEncoder.CreateForTranscodingAsync(inMemoryRandomAccessStream, decoder);

                encoder.BitmapTransform.ScaledWidth  = size;
                encoder.BitmapTransform.ScaledHeight = size;

                await encoder.FlushAsync();

                await inMemoryRandomAccessStream.FlushAsync();

                return(await inMemoryRandomAccessStream.ToByteArrayAsync());
            }
        }