mirror of
https://github.com/kwsch/PKHeX
synced 2024-09-22 15:21:55 +00:00
reduce animation fragility
#2072 no idea if this works since I can't repro on my end
This commit is contained in:
parent
f89d9ca323
commit
dfdcc28789
1 changed files with 9 additions and 5 deletions
|
@ -14,7 +14,8 @@ namespace PKHeX.WinForms.Controls
|
||||||
Elapsed += TimerElapsed;
|
Elapsed += TimerElapsed;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Image GlowBase;
|
private int imgWidth;
|
||||||
|
private int imgHeight;
|
||||||
private byte[] GlowData;
|
private byte[] GlowData;
|
||||||
private readonly Image ExtraLayer;
|
private readonly Image ExtraLayer;
|
||||||
private Image[] GlowCache;
|
private Image[] GlowCache;
|
||||||
|
@ -50,9 +51,12 @@ namespace PKHeX.WinForms.Controls
|
||||||
|
|
||||||
public void Start(PictureBox pbox, Image baseImage, byte[] glowData, Image original)
|
public void Start(PictureBox pbox, Image baseImage, byte[] glowData, Image original)
|
||||||
{
|
{
|
||||||
GlowBase = baseImage;
|
Enabled = false;
|
||||||
|
imgWidth = baseImage.Width;
|
||||||
|
imgHeight = baseImage.Height;
|
||||||
GlowData = glowData;
|
GlowData = glowData;
|
||||||
pb = pbox;
|
pb = pbox;
|
||||||
|
GlowCounter = 0;
|
||||||
OriginalBackground = original;
|
OriginalBackground = original;
|
||||||
GlowCache = new Image[GlowFps];
|
GlowCache = new Image[GlowFps];
|
||||||
GlowInterval = 1000 / GlowFps;
|
GlowInterval = 1000 / GlowFps;
|
||||||
|
@ -85,10 +89,10 @@ namespace PKHeX.WinForms.Controls
|
||||||
var frameData = (byte[])GlowData.Clone();
|
var frameData = (byte[])GlowData.Clone();
|
||||||
ImageUtil.ChangeAllColorTo(frameData, frameColor);
|
ImageUtil.ChangeAllColorTo(frameData, frameColor);
|
||||||
|
|
||||||
frame = ImageUtil.GetBitmap(frameData, GlowBase.Width, GlowBase.Height);
|
frame = (Image)ImageUtil.GetBitmap(frameData, imgWidth, imgHeight).Clone();
|
||||||
if (ExtraLayer != null)
|
if (ExtraLayer != null)
|
||||||
frame = ImageUtil.LayerImage(frame, ExtraLayer, 0, 0, 1);
|
frame = ImageUtil.LayerImage(frame, ExtraLayer, 0, 0);
|
||||||
frame = ImageUtil.LayerImage(OriginalBackground, frame, 0, 0, 1);
|
frame = ImageUtil.LayerImage(OriginalBackground, frame, 0, 0);
|
||||||
return GlowCache[frameIndex] = frame;
|
return GlowCache[frameIndex] = frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue