diff --git a/PKHeX.WinForms/Controls/SAV Editor/SlotChangeManager.cs b/PKHeX.WinForms/Controls/SAV Editor/SlotChangeManager.cs index dca784020..2a583d0de 100644 --- a/PKHeX.WinForms/Controls/SAV Editor/SlotChangeManager.cs +++ b/PKHeX.WinForms/Controls/SAV Editor/SlotChangeManager.cs @@ -54,7 +54,7 @@ public void MouseEnter(object sender, EventArgs e) if (pb.Image == null) return; OriginalBackground = pb.BackgroundImage; - pb.BackgroundImage = CurrentBackground = pb.BackgroundImage == null ? Resources.slotHover : ImageUtil.LayerImage(pb.BackgroundImage, Resources.slotHover, 0, 0, 1); + pb.BackgroundImage = CurrentBackground = pb.BackgroundImage == null ? Resources.slotHover : ImageUtil.LayerImage(pb.BackgroundImage, Resources.slotHover, 0, 0); BeginHoverSlot(pb); } private void BeginHoverSlot(PictureBox pb) diff --git a/PKHeX.WinForms/MainWindow/Main.cs b/PKHeX.WinForms/MainWindow/Main.cs index f550422d3..f1137921e 100644 --- a/PKHeX.WinForms/MainWindow/Main.cs +++ b/PKHeX.WinForms/MainWindow/Main.cs @@ -979,7 +979,7 @@ private void ExportQRFromTabs() if (la.Parsed && pkx.Species != 0) { var img = la.Valid ? Resources.valid : Resources.warn; - sprite = ImageUtil.LayerImage(sprite, img, 24, 0, 1); + sprite = ImageUtil.LayerImage(sprite, img, 24, 0); } string[] r = pkx.QRText; diff --git a/PKHeX.WinForms/Misc/QR.cs b/PKHeX.WinForms/Misc/QR.cs index f991c815d..e9dca4e2f 100644 --- a/PKHeX.WinForms/Misc/QR.cs +++ b/PKHeX.WinForms/Misc/QR.cs @@ -53,7 +53,7 @@ private void RefreshImage() gfx.DrawImage(icon, preview.Width / 2 - icon.Width / 2, preview.Height / 2 - icon.Height / 2); } // Layer on Preview Image - Image pic = ImageUtil.LayerImage(qr, preview, qr.Width / 2 - preview.Width / 2, qr.Height / 2 - preview.Height / 2, 1); + Image pic = ImageUtil.LayerImage(qr, preview, qr.Width / 2 - preview.Width / 2, qr.Height / 2 - preview.Height / 2); Image newpic = new Bitmap(PB_QR.Width, PB_QR.Height); using (Graphics g = Graphics.FromImage(newpic)) diff --git a/PKHeX.WinForms/Util/ImageUtil.cs b/PKHeX.WinForms/Util/ImageUtil.cs index 7b3dca9dc..3aa8b378c 100644 --- a/PKHeX.WinForms/Util/ImageUtil.cs +++ b/PKHeX.WinForms/Util/ImageUtil.cs @@ -8,16 +8,22 @@ namespace PKHeX.WinForms public static class ImageUtil { // Image Layering/Blending Utility - public static Bitmap LayerImage(Image baseLayer, Image overLayer, int x, int y, double trans) + public static Bitmap LayerImage(Image baseLayer, Image overLayer, int x, int y, double transparency) + { + if (baseLayer == null) + return overLayer as Bitmap; + overLayer = ChangeOpacity(overLayer, transparency); + return LayerImage(baseLayer, overLayer, x, y); + } + public static Bitmap LayerImage(Image baseLayer, Image overLayer, int x, int y) { if (baseLayer == null) return overLayer as Bitmap; Bitmap img = new Bitmap(baseLayer.Width, baseLayer.Height); using (Graphics gr = Graphics.FromImage(img)) { - gr.DrawImage(baseLayer, new Rectangle(0, 0, baseLayer.Width, baseLayer.Height)); - Image o = trans == 1f ? overLayer : ChangeOpacity(overLayer, trans); - gr.DrawImage(o, new Rectangle(x, y, overLayer.Width, overLayer.Height)); + gr.DrawImage(baseLayer, 0, 0); + gr.DrawImage(overLayer, x, y); } return img; } diff --git a/PKHeX.WinForms/Util/PKMUtil.cs b/PKHeX.WinForms/Util/PKMUtil.cs index 02d62f52d..af0c87dc5 100644 --- a/PKHeX.WinForms/Util/PKMUtil.cs +++ b/PKHeX.WinForms/Util/PKMUtil.cs @@ -85,14 +85,14 @@ private static Image GetSprite(PKM pkm, SaveFile SAV, int box, int slot, bool fl pkm.Box = box; var la = new LegalityAnalysis(pkm, SAV.Personal); if (!la.Valid && pkm.Species != 0) - sprite = ImageUtil.LayerImage(sprite, Resources.warn, 0, 14, 1); + sprite = ImageUtil.LayerImage(sprite, Resources.warn, 0, 14); } if (inBox) // in box { if (SAV.IsSlotLocked(box, slot)) - sprite = ImageUtil.LayerImage(sprite, Resources.locked, 26, 0, 1); + sprite = ImageUtil.LayerImage(sprite, Resources.locked, 26, 0); else if (SAV.IsSlotInBattleTeam(box, slot)) - sprite = ImageUtil.LayerImage(sprite, Resources.team, 21, 0, 1); + sprite = ImageUtil.LayerImage(sprite, Resources.team, 21, 0); } return sprite; diff --git a/PKHeX.WinForms/Util/SpriteBuilder.cs b/PKHeX.WinForms/Util/SpriteBuilder.cs index 2f8c27747..167a9cf84 100644 --- a/PKHeX.WinForms/Util/SpriteBuilder.cs +++ b/PKHeX.WinForms/Util/SpriteBuilder.cs @@ -98,7 +98,7 @@ private static Image LayerOverImageItem(Image baseImage, int item, int generatio if (x + itemimg.Width > baseImage.Width) x = baseImage.Width - itemimg.Width; int y = 15 + (15 - itemimg.Height); - return ImageUtil.LayerImage(baseImage, itemimg, x, y, 1); + return ImageUtil.LayerImage(baseImage, itemimg, x, y); } private static Image LayerOverImageShiny(Image baseImage, bool isBoxBGRed) @@ -115,7 +115,7 @@ private static Image LayerOverImageEgg(Image baseImage, int species) baseImage = ImageUtil.ChangeOpacity(baseImage, 0.33); // Add the egg layer over-top with full opacity. var egg = species == 490 ? (Image)Resources.ResourceManager.GetObject("_490_e") : Resources.egg; - return ImageUtil.LayerImage(baseImage, egg, 0, 0, 1); + return ImageUtil.LayerImage(baseImage, egg, 0, 0); } } }