private void TestCodec(CodecUI UI, Bitmap bitmap, BitmapData bmpData, Rectangle scanArea, Size ImgSize) { int i = 0; /*Bitmap bmp = (Bitmap)Bitmap.FromFile(@"D:\DragonBox\wallpapers\Space-HD-Wallpaper_Pack2-12.jpg"); * Bitmap bmp2 = (Bitmap)Bitmap.FromFile(@"D:\DragonBox\wallpapers\Penguin FlyingCat.png"); * Bitmap bmpClone = (Bitmap)bmp.Clone(); * Bitmap bmp2Clone = (Bitmap)bmp2.Clone(); * * * bool switcher = false; * * //byte[] temp = new FastBitmap(bmp).ToByteArray(); * * BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadWrite, bmp.PixelFormat); * BitmapData bmpData2 = bmp2.LockBits(new Rectangle(0, 0, bmp2.Width, bmp2.Height), ImageLockMode.ReadWrite, bmp2.PixelFormat); * * while (true) * { * Bitmap bmp = CaptureScreen(); * bmp.Save(@"C:\images\" + i + ".png"); * bmp.Dispose(); * i++; * }*/ if (UI.UnsafeCodec != null) { UI.RenderBitmap(bmpData.Scan0, bitmap, scanArea, ImgSize, bitmap.PixelFormat); } else { UI.RenderBitmap(IntPtr.Zero, bitmap, scanArea, ImgSize, bitmap.PixelFormat); } UpdateCodecList(UI); /*foreach (string file in Directory.GetFiles(@"C:\images\310.to.Yuma.2007.1080p.BrRip.x264.BOKUTOX (6-4-2014 3-43-10 PM)\", "*.*", SearchOption.TopDirectoryOnly)) * { * Bitmap bmp = (Bitmap)Bitmap.FromFile(file); * //Bitmap bmpClone = (Bitmap)bmp.Clone(); * * //Bitmap bmp = CaptureScreen(); * BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadWrite, bmp.PixelFormat); * * if (UI.UnsafeCodec != null) * { * Bitmap bmpClone = (Bitmap)bmp.Clone(); * UI.RenderBitmap(bmpData.Scan0, bmpClone, new Rectangle(0, 0, bmp.Width, bmp.Height), new Size(bmp.Width, bmp.Height), bmp.PixelFormat); * bmpClone.Dispose(); * } * else * { * UI.RenderBitmap(IntPtr.Zero, bmp, new Rectangle(0, 0, bmp.Width, bmp.Height), new Size(bmp.Width, bmp.Height), bmp.PixelFormat); * } * UpdateCodecList(UI); * }*/ }
public void AddCodecList(CodecUI UI) { if (UI.UnsafeCodec == null && UI.VideoCodec == null) { return; } listView1.Items.Add(new ListViewItem(new string[] { UI.IsUnsafe?UI.UnsafeCodec.GetType().Name: UI.VideoCodec.GetType().Name, "0", "0", "0", "0", }) { Tag = UI }); }
public void UpdateCodecList(CodecUI UI, bool ForceUpdate = false) { if (RefreshSW.ElapsedMilliseconds <= 1000 && !ForceUpdate) { return; } this.Invoke(new Invoky(() => { for (int i = 0; i < listView1.Items.Count; i++) { ListViewItem item = listView1.Items[i]; if ((UI.IsUnsafe ? UI.UnsafeCodec.GetType().Name : UI.VideoCodec.GetType().Name) == item.SubItems[0].Text) { item.SubItems[1].Text = UI.VideoFPS.ToString(); item.SubItems[2].Text = UI.FrameCount.ToString(); item.SubItems[3].Text = Math.Round((((float)UI.SpeedPerSec / 1000F) / 1000F), 2) + "MB"; item.SubItems[4].Text = Math.Round((((float)UI.StreamedSize / 1000F) / 1000F), 2) + "MB"; } } })); RefreshSW = Stopwatch.StartNew(); }