aforge视频录像,对界面进行重绘
由于项目需要,需要录像的时候在界面加多一个圆圈,并且一起录制下来。
只需要在NewFrame增加以下代码
private void videoSourcePlayer1_NewFrame(object sender, ref Bitmap image)
{
//加个圆圈
GraphicsPath buttonPath = new GraphicsPath();
int pHeight = panel1.Height;
int pWidth = panel1.Width;
int lX = (pWidth - pHeight) / 2;
int lY = 0;
//矩阵
Rectangle newRectangleOrigin = videoSourcePlayer.ClientRectangle;// new Rectangle(new System.Drawing.Point(lX, lY),new System.Drawing.Size(pHeight, pHeight)); //new Rectangle(videoSourcePlayer.Location, image.Size);
//圆形
Rectangle newRectangle = new Rectangle(new System.Drawing.Point(lX-300, lY), new System.Drawing.Size(pHeight+50, pHeight-170));// new Rectangle(new System.Drawing.Point(videoSourcePlayer.ClientRectangle.X, videoSourcePlayer.ClientRectangle.Y), image.Size);// picturePreview.ClientRectangle;
newRectangle.Inflate(videoWidth, videoHeight);
g.DrawEllipse(Pens.Black, newRectangle);
buttonPath.AddEllipse(newRectangle);
Region rg = new Region(newRectangleOrigin);//要填充的区域
rg.Exclude(buttonPath);//除去掉的区域
g.FillRegion(Brushes.Black, rg);
}

浙公网安备 33010602011771号