private static ImageBrush ReadImageBrushFromFile(Stream stream, PhotoLoadType loadType) { switch (loadType) { case PhotoLoadType.Miniature: using (var src = SKBitmap.Decode(stream)) { var scale = 100f / src.Width; var resized = new SKBitmap( (int)(src.Width * scale), (int)(src.Height * scale), src.ColorType, src.AlphaType); src.ScalePixels(resized, SKFilterQuality.Low); var bitmap = new Bitmap( resized.ColorType.ToPixelFormat(), resized.GetPixels(), new PixelSize(resized.Width, resized.Height), SkiaPlatform.DefaultDpi, resized.RowBytes); return(new ImageBrush(bitmap)); } break; case PhotoLoadType.Full: return(new ImageBrush(new Bitmap(stream))); break; default: throw new Exception($"invalid ImageLoadMode:{loadType.ToString()}"); } }