mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-05-09 04:24:36 -05:00
Add layerimage overload
transparency=1 is no opacity change remove Rectangle use, just provide coordinates (looks to be simpler in the .net src too)
This commit is contained in:
parent
cb80c02011
commit
fae36e2086
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user