[GcodePreview]Keep thumbnails transparency (#15575)

* Makes Gcode thumbnails transparent

* Don't dispose MemoryStream used in Bitmap

Follows up on the remarks shown here:
https://docs.microsoft.com/en-us/dotnet/api/system.drawing.bitmap.-ctor?view=dotnet-plat-ext-6.0#system-drawing-bitmap-ctor(system-io-stream)
This commit is contained in:
Pedro Lamas
2022-01-24 18:12:48 +00:00
committed by GitHub
parent 2182aabe35
commit 5eaf60e8a2
3 changed files with 5 additions and 12 deletions

View File

@@ -56,10 +56,7 @@ namespace Microsoft.PowerToys.ThumbnailHandler.Gcode
{
var bitmapBytes = Convert.FromBase64String(bitmapBase64);
using (var bitmapStream = new MemoryStream(bitmapBytes))
{
thumbnail = new Bitmap(bitmapStream);
}
thumbnail = new Bitmap(new MemoryStream(bitmapBytes));
if (thumbnail.Width != cx && thumbnail.Height != cx)
{
@@ -137,7 +134,6 @@ namespace Microsoft.PowerToys.ThumbnailHandler.Gcode
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
graphics.Clear(Color.White);
graphics.DrawImage(image, 0, 0, width, height);
}
@@ -170,8 +166,8 @@ namespace Microsoft.PowerToys.ThumbnailHandler.Gcode
{
if (thumbnail != null && thumbnail.Size.Width > 0 && thumbnail.Size.Height > 0)
{
phbmp = thumbnail.GetHbitmap();
pdwAlpha = WTS_ALPHATYPE.WTSAT_RGB;
phbmp = thumbnail.GetHbitmap(Color.Transparent);
pdwAlpha = WTS_ALPHATYPE.WTSAT_ARGB;
}
}
}