Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 来自网络摄像头白色边框的快照_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 来自网络摄像头白色边框的快照

Actionscript 3 来自网络摄像头白色边框的快照,actionscript-3,flash,Actionscript 3,Flash,使用Flash,我从用户的网络摄像头中获取一张图片,并将其保存为图像 但是,图像的右边缘和下边缘都是白色边框 我试着跟随,但这只会使白色边框变小,这更好,但我希望它们消失 下面是绘制白色边框的代码 VD1 = new Video(); VD1.width = 400; VD1.height = 300; myCam = Camera.getCamera(); myCam.setMode(400,300,15); VD1.attachCamera(myCam); var screensho

使用Flash,我从用户的网络摄像头中获取一张图片,并将其保存为图像

但是,图像的右边缘和下边缘都是白色边框

我试着跟随,但这只会使白色边框变小,这更好,但我希望它们消失

下面是绘制白色边框的代码

VD1 = new Video();
VD1.width = 400;
VD1.height = 300;

myCam = Camera.getCamera();
myCam.setMode(400,300,15); 

VD1.attachCamera(myCam);

var screenshot:BitmapData = new BitmapData(400,300,false);
var m:Matrix = new Matrix();
m.scale(400/(myCam.width),300/(myCam.height));
screenshot.draw(VD1,m);
我可以这样做:

m.scale(400/(myCam.width-40),300/(myCam.height-25));

暂时删除白色边框,但对于某些网络摄像头,如macbook上的摄像头,它不起作用。如何去除这些白色边框?

尝试以其他分辨率拍摄视频:

myCam.setMode(320,240,15);
我认为你想找到一个“最佳点”,它可以很好地与大多数网络摄像机配合使用。默认捕获分辨率为160x120。尝试使用此分辨率的倍数:640x480、480x360等


如果您认为网络摄像头不支持(比如400x300),Flash player将找到摄像头支持的最接近的分辨率。。。我猜这就是造成白边的原因

Macbook Pro网络摄像头应该有620x480个摄像头,对吗?当我追踪
myCam.width
height
时,我得到了160x120。网络摄像头支持一系列分辨率,因此MacBook中的摄像头支持高达640x480的分辨率和低于该分辨率的各种尺寸。Flash相机类的默认捕获分辨率为160x120,这可能是跟踪宽度/高度时获得这些值的原因。不要依赖凸轮的宽度/高度。使用setMode()设置捕获分辨率,然后将其与任意大小的视频对象一起显示(它会自动缩放视频,并且您不需要cam.width或cam.height)。