From 2c01aea2bc7de9b855afc243280e38ab22510aa4 Mon Sep 17 00:00:00 2001 From: Jaex Date: Wed, 15 May 2019 01:53:14 +0300 Subject: [PATCH] Crop transparent edges from icons then center it --- ShareX/Controls/TaskPanel.cs | 44 ++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/ShareX/Controls/TaskPanel.cs b/ShareX/Controls/TaskPanel.cs index 5f049d174..d202b7255 100644 --- a/ShareX/Controls/TaskPanel.cs +++ b/ShareX/Controls/TaskPanel.cs @@ -159,37 +159,41 @@ public void UpdateThumbnail() { string filePath = Task.Info.FilePath; - try + if (!string.IsNullOrEmpty(filePath)) { - if (Helpers.IsImageFile(filePath)) + try { - using (Image img = ImageHelpers.LoadImage(filePath)) + if (Helpers.IsImageFile(filePath)) { - if (img != null) + using (Image img = ImageHelpers.LoadImage(filePath)) { - //ThumbnailImage = ImageHelpers.CreateThumbnail(img, ThumbnailSize.Width, ThumbnailSize.Height); - ThumbnailImage = ImageHelpers.ResizeImage(img, ThumbnailSize, false); + if (img != null) + { + //ThumbnailImage = ImageHelpers.CreateThumbnail(img, ThumbnailSize.Width, ThumbnailSize.Height); + ThumbnailImage = ImageHelpers.ResizeImage(img, ThumbnailSize, false); + pbThumbnail.Image = ThumbnailImage; + ThumbnailSourceFilePath = filePath; + pbThumbnail.Cursor = pThumbnail.Cursor = Cursors.Hand; + } + } + } + else + { + using (Icon icon = NativeMethods.GetJumboFileIcon(filePath)) + using (Bitmap bmp = icon.ToBitmap()) + using (Image img = ImageHelpers.AutoCropTransparent(bmp)) + { + ThumbnailImage = ImageHelpers.ResizeImage(img, ThumbnailSize, false, true); pbThumbnail.Image = ThumbnailImage; - ThumbnailSourceFilePath = filePath; - pbThumbnail.Cursor = pThumbnail.Cursor = Cursors.Hand; + pbThumbnail.Cursor = pThumbnail.Cursor = Cursors.Default; } } } - else + catch (Exception e) { - using (Icon icon = NativeMethods.GetJumboFileIcon(filePath)) - using (Image img = icon.ToBitmap()) - { - ThumbnailImage = ImageHelpers.ResizeImage(img, ThumbnailSize, false); - pbThumbnail.Image = ThumbnailImage; - pbThumbnail.Cursor = pThumbnail.Cursor = Cursors.Default; - } + DebugHelper.WriteException(e); } } - catch (Exception e) - { - DebugHelper.WriteException(e); - } } }