AIR应用 调用摄像头拍照并把照片保持到本地文件夹

本文介绍了一种使用Flash技术从摄像头捕获图像,并将图像保存为本地文件的方法。通过设置摄像头参数,调整图片尺寸,利用JPGEncoder进行图片编码,最后通过FileStream将图片保存到指定路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import com.adobe.images.PNGEncoder;
import com.adobe.images.JPGEncoder;
import flash.filesystem.File;
import flash.filesystem.FileStream;
import flash.filesystem.FileMode;
import flash.media.Camera;
import flash.media.Video;
import flash.events.MouseEvent;
import flash.display.BitmapData;
import flash.utils.ByteArray;

Security.showSettings(SecurityPanel.CAMERA);  //显示摄像头选择面板
var cam:Camera = Camera.getCamera();
cam.setMode(738, 499, 24);                //摄像头视窗大小
var video:Video = new Video(738,499);
video.attachCamera(cam);
this.addChild(video);
video.x = 276;
video.y = 104;

this.addChild(btn);

//全屏
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
btn.addEventListener(MouseEvent.MOUSE_DOWN, saveStill);

var count:int = 0;

function saveStill(e:MouseEvent):void{
	if(count >49)count = 0;
	var mtr:Matrix = new Matrix(476/738,0,0,370/499,0,0);  //把相框的图片按比例缩小
	var bmd:BitmapData = new BitmapData(476, 370);  //最终保存成的图片大小 
	bmd.draw(video,mtr);
	
	//保存成jpg图片
	var jpg:JPGEncoder = new JPGEncoder();
	var ba:ByteArray=jpg.encode(bmd);
	
	/*  保存成png图片
	var ba:ByteArray = PNGEncoder.encode(bmd);
	var file:File = File.desktopDirectory.resolvePath("webcam" + count++ + ".png");
	var file:File = File.documentsDirectory.resolvePath("G:\PHPnow\htdocs\phpgetpic\upload\webcam" + count++ + ".png");
	*/
	var file:File = File.applicationStorageDirectory.resolvePath("G:\\PHPnow\\htdocs\\phpgetpic\\upload\\webcam" + count++ + ".jpg");
	var fileStream:FileStream = new FileStream();
	fileStream.open(file, FileMode.WRITE);
	fileStream.writeBytes(ba);
	fileStream.close();
	
	//socket 广播出去
	//sendStr("webcam" + (count-1));
}
跟本站发布的“php获取本地图片文件并生成xml文件输出”结合加socket可实现一台电脑拍照,另一台电脑显示拍得的照片。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jswm20150115

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值