应用场景:很多网站都有设置自己头像的功能,分为从本地上传图片和摄像头拍照功能。本篇主要讲解利用摄像头拍照保存头像,以后我还会讲解剪裁图像的功能实现。
几个知识点的大概了解。
flash.media.Camera 对象可以连接到用户的本地摄像头并在本地广播视频(播放给用户),播放视频用flash.media.Video对象。
flash.display.BitmapData对象可以处理位图图像的数据。draw方法可以获得当前Video的图像数据。
as3corelib中的com.adobe.images.JPGEncoder对象的
encode(image:BitmapData):ByteArray
方法可以将BitmapData对象转化为JPG图像。得到ByteArray后我们可以将数据传到服务器上或者保存到客户端。
flash.net.FileReference对象可以保存jpg图片到本地。
下面是一个大概的代码:
package
{
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Matrix;
import flash.media.Camera;
import flash.media.Video;
import flash.net.FileReference;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.utils.ByteArray;
import com.adobe.images.JPGEncoder;
public class Test extends Sprite
{
public function Test()
{
init();
}
private var video:Video;//视频对象
private var tf:TextField;//点击开始拍照
public function init():void
{
if(Camera.names.length>0){
var cam:Camera = Camera.getCamera();
cam.setMode(400,300,10);//摄像头的宽度和高度
cam.setQuality(0,100);//图像质量
video=new Video(400,300);
video.x=0;
video.y=0;
video.attachCamera(cam);
addChild(video);
}else{
trace("用户没有可用摄像头");
return ;
}
tf= new TextField();
tf.x = 150;
tf.y=310;
tf.autoSize = TextFieldAutoSize.LEFT;
tf.text="点击我开始拍照";
addChild(tf);
tf.addEventListener(MouseEvent.CLICK, savePic);
}
public function savePic(event:MouseEvent):void
{
var imageSource:BitmapData= new BitmapData(400,300);
var matrix:Matrix=new Matrix();
matrix.scale(1,1);//方法比例 由video和camera的宽高决定
imageSource.draw(video,matrix);
var file:FileReference= new FileReference();
var jpegEncoder:JPGEncoder= new JPGEncoder(100);
var imageDataArray:ByteArray=jpegEncoder.encode(imageSource);
file.save(imageDataArray,"我的靓照.jpg");
video.attachCamera(null);//关闭摄像头
tf.removeEventListener(MouseEvent.CLICK,savePic);
}
}
}
分享到:
相关推荐
WPF调用本地摄像头进行拍照,并将照片保存为.jpg图片,存放于Debug目录下的photos文件夹内。
实现步骤: 1、打开0号摄像头 2、while循环拍照 3、拍照时顺便保存图片 需要在.sln同级地方建一个temp文件夹,用来存放图片。
C# 获取摄像头的列表 选其一 进行拍照 并且保存至指定的路径
vb.net获取摄像头图片并保存,打开摄像头,关闭摄像头,并且保存图片到本地.
ASP调用摄像头拍照并保存亲测能用!asp调用本地摄像头的组件,能够在线采集头像
java调用摄像头保存图片,通过Face++和Javacv判断如果视频中含有人脸,保存图片到本地指定路径!
代码只是关键代码,并不能直接使用,可以拷贝到javaweb项目中使用
demo实现了usb外接摄像头的连接、图像显示以及拍照并保存在本地
Matlab摄像头拍摄预览保存图片-WebCam.rar 刚刚开发的程序,除了满足题目基本要求以为,我添加了以下2个功能: 1:进度条,让用户明白程序进程 2:无限制拍照,并且按照capture1.jpg capture2.jpg......保存图片. ...
DELPHI 控制摄像头拍照,截取任意矩形区域,保存成图片 源码,(原创) 部份代码来自网络。
程序改编自一个PHP的摄像头图片上传程序,改默认的提示及摄像头分辨率为640*480,有利图片清晰,图片保存远端的ASP服务器,也提供一个对话框可保到本地。
我的博客里有这篇文章 这是源代码 我的博客里有这篇文章 这是源代码 我的博客里有这篇文章 这是源代码 我的博客里有这篇文章 这是源代码 我的博客里有这篇文章 这是源代码
WPF调用摄像头拍照并保存图片,使用VS打开,完美调用摄像头
基于c#form实现摄像头拍照和保存,基于c#form实现摄像头拍照和保存
调用系统API打开摄像头,并进行拍照可以保存图片在指定的位置。 里面包括打开摄像头,截图,以及退出程序,VS2008编译通过。
silverlight5.0摄像头拍照保存打印,包括保存图像到mssql2008R2数据库中及剪切,把服务端data目录下的数据库文件还原到数据库中,便可运行。本程序在VS2013+silverlight+mssql2008R2中测试通过。
as3代码,实现获取摄像头进行拍照,并保存到本地。
EXCEL VBA 控制摄像头进行拍照保存,可以使用扫码枪扫码录入至单元格中,以单元格中的内容为文件名保存摄像头拍摄的照片,保存位置为 EXCEL 所在目录,同时图片缩略图插入到文件名所在的单元格中。
Delphi摄像头拍照截图保存程序,单位里要为工人办理暂住证,需要给他们拍照,就编了这个程序,程序使用了VIDEOCAP控件(文件夹中带了),RAIZE控件,网上有下载. 使用时请注意:新的摄像头默认格式为640x480,请设置为320...
用Qt做的调用摄像头的例子,实现了打开摄像头,预览,拍照的功能,代码简单易懂。用了#include <QCamera> #include <QCameraViewfinder> #include 三个组件