附件中的程序运行会在窗口左边显示摄像头图像,点击图像后在D盘保存一个文件1.jpg,并在右边显示该文件。
想实现的是左边的摄像头图像只显示原图像的正中间某部分,点击后显示的内容就保存为文件并显示在右边。哪位高手能帮修改一下?
videoDevice.NewFrame = function(sender, NewFrameEventArgs){ var temp = NewFrameEventArgs.Frame.Clone(); if (pictureBox1.Image != null){pictureBox1.Image.Dispose();} /*以下裁剪显示不成功 var width = temp.Width; var height = temp.Height; var cropX = width / 4; var cropY = height / 4; var cropWidth = width / 2; var cropHeight = height / 2; // 裁剪中间部分图像 var croppedImage = gdip.snap(temp, cropX, cropY, cropWidth, cropHeight); pictureBox1.Image = croppedImage; */ pictureBox1.Image = temp; }
只要裁剪就不能显示了
y4h3z4 videoDevice.NewFrame = function(sender, NewFrameEventArgs){ var&nbs ...
y4h3z4 原来要求看来是解决不了。 能不能在摄像头预览的自定义控件显示一个红色矩形框,作为后面截图的标准?
我电脑上没有摄像头,没法测试,没法帮你了。看谁有摄像头的测试一下。
var ms = ..System.IO.System.MemoryStream();
pictureBox1.Image.Save(ms,..System.Drawing.Imaging.ImageFormat.jpeg);
imgData = tostring(ms.ToArray());