/// <summary> /// 预处理鼠标移入时图片 /// </summary> /// <returns></returns> Bitmap[] MakeWTActFrame() { Bitmap[] returnBitmap; Bitmap[] tmpWaveTableAct = ImageHandle.MakeZoomImageFrame(bitmapMsEnterTable, 5, 7); Bitmap[] tmpInfoTableAct = ImageHandle.MakeActImamgeFrame(MyProRes.Resources.WatchFlex, 12); returnBitmap = new Bitmap[tmpWaveTableAct.Length + tmpInfoTableAct.Length]; for (int i = 0; i < tmpWaveTableAct.Length; i++) { returnBitmap[i] = tmpWaveTableAct[i]; } for (int i = tmpWaveTableAct.Length; i < returnBitmap.Length; i++) { returnBitmap[i] = new Bitmap(tmpWaveTableAct[0].Width + tmpInfoTableAct[i - tmpWaveTableAct.Length].Width, tmpWaveTableAct[0].Height); Graphics tmpGraphics = Graphics.FromImage(returnBitmap[i]); tmpGraphics.DrawImage(tmpInfoTableAct[(tmpInfoTableAct.Length - 1) - (i - tmpWaveTableAct.Length)], tmpWaveTableAct[0].Width - 37, (returnBitmap[i].Height - tmpInfoTableAct[(tmpInfoTableAct.Length - 1) - (i - tmpWaveTableAct.Length)].Height) / 2); tmpGraphics.DrawImage(tmpWaveTableAct[0], 0, 0); } return(returnBitmap); }
/// <summary> /// 制作缩放的动画帧 /// sourceBitmap指定制作动画帧的原始图片 /// pix指定每一帧之间的像素差,当pix大于0时,只缩小的动画帧;pix小于0时制作的是放大的动画帧 /// frameNumbers指定有多少帧 /// </summary> /// <param name="sourceBitmap"></param> /// <param name="pix"></param> /// <param name="frameNumbers"></param> /// <returns></returns> public static Bitmap[] MakeZoomImageFrame(Bitmap sourceBitmap, int pix, int frameNumbers) { if ((sourceBitmap.Width - (frameNumbers - 1) * pix > 0) && (sourceBitmap.Height - (frameNumbers - 1) * pix > 0) && (frameNumbers > 1) && (pix != 0)) { Bitmap[] returnBitmap = new Bitmap[2 * frameNumbers - 1]; for (int i = 0; i < frameNumbers; i++) { returnBitmap[i] = ImageHandle.ZoomImage(sourceBitmap, sourceBitmap.Width - i * pix, sourceBitmap.Height - i * pix); } for (int i = frameNumbers; i < 2 * frameNumbers - 1; i++) { returnBitmap[i] = ImageHandle.ZoomImage(sourceBitmap, sourceBitmap.Width - (frameNumbers - 1) * pix + (i - frameNumbers + 1) * pix, sourceBitmap.Height - (frameNumbers - 1) * pix + (i - frameNumbers + 1) * pix); } return(returnBitmap); } else { throw new Exception("帧数太少,或某一帧中像素为零!"); } }
public WTMainForm() { InitializeComponent(); this.FormBorderStyle = FormBorderStyle.None; this.TopMost = true; this.ShowInTaskbar = false; Screen tmpScreen = Screen.PrimaryScreen; this.Left = tmpScreen.Bounds.Width * 4 / 5 + 10; this.Top = tmpScreen.Bounds.Height / 10 - 45; bitmapStop = ImageHandle.CutImage(MyProRes.Resources.Watch, 5, 4); ImageHandle.chushihua(MyProRes.Resources.Watch, 5, 4); bitmapMsEnterTable = ImageHandle.CutImage(MyProRes.Resources.Watch, 5, 0); // bitmapMsEnterFinger = ImageHandle.CircumvolveImage(ImageHandle.CutImage(MyProRes.Resources.Watch, 5, 2),-140); bitmapMsLeaveTable = ImageHandle.CutImage(MyProRes.Resources.Watch, 5, 1); // bitmapMsLeaveFinger = ImageHandle.CircumvolveImage(ImageHandle.CutImage(MyProRes.Resources.Watch, 5, 3),-140); waveTableAct = MakeWTActFrame(); for (int a = 0; a < 53; a++) { String name = "BadGirl" + a.ToString() + ".png"; Console.WriteLine(name); Image img = Image.FromFile(name); leimu[a] = new Bitmap(img, 50, 80); // leimu[a] = new Bitmap(name); } mouseEnterThread = null; mouseLeaveThread = null; downLoadingThread = null; HWND = this.Handle; curPostion.X = this.Left; curPostion.Y = this.Top; }