Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static Stream ResizeImage(Stream fileimage, int maxWidth, int maxHeight)
- {
- fileimage.Position = 0;
- using (var bitmap = SKBitmap.Decode(fileimage))
- {
- var ratioX = (float) maxWidth / bitmap.Width;
- var ratioY = (float) maxHeight / bitmap.Height;
- var ratio = Math.Min(ratioX, ratioY);
- using (var toBitmap = new SKBitmap((int) Math.Round(bitmap.Width * ratio),
- (int) Math.Round(bitmap.Height * ratio), bitmap.ColorType, bitmap.AlphaType))
- using (var canvas = new SKCanvas(toBitmap))
- {
- canvas.SetMatrix(SKMatrix.MakeScale(ratio, ratio));
- canvas.DrawBitmap(bitmap, 0, 0);
- canvas.ResetMatrix();
- canvas.Flush();
- canvas.Dispose();
- using (var image = SKImage.FromBitmap(toBitmap))
- using (var data = image.Encode(SKEncodedImageFormat.Png, 100))
- {
- var stream = new MemoryStream();
- data.SaveTo(stream);
- return stream;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement