Flash AS3.0 拍照保存图片到文件夹内…求高手帮忙修改 100
package{importflash.display.BitmapData;importflash.display.Sprite;importflash.display...
package {
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.geom.Matrix;
import flash.net.FileReference;
import flash.utils.ByteArray;
import flash.geom.Rectangle;
import flash.media.Camera;
import flash.media.Video;
import com.adobe.images.JPGEncoder;
public class Main extends Sprite {
private var ii=0;
private var captrueBmd:BitmapData;
private var FileRefe:FileReference = new FileReference();
private var vid:Video;
private var cam:Camera;
public function Main()
{
init();
}
public function init()
{
setupCamera();
capture_btn.addEventListener(MouseEvent.CLICK, capture_click);
save_btn.addEventListener(MouseEvent.CLICK, save_click);
}
private function setupCamera():void
{
trace("setupCamera.....");
vid=new Video(700,400);
cam=Camera.getCamera();
cam.setQuality(0,1);
cam.setMode(1920, 1080, 25);
vid.attachCamera(cam);
addChild(vid);
vid.x=0;
vid.y=50;
}
private function capture_click(e:MouseEvent)
{
if (ii<4) {
if (! captrueBmd) {
captrueBmd=new BitmapData(400,300);
}
captrueBmd.draw(vid);
var myBmt:Bitmap=new Bitmap(captrueBmd);
addChild(myBmt);
myBmt.scaleX=myBmt.scaleY=0.3;
myBmt.y=380;
myBmt.x=60+ii*150;
ii++;
}
}
private function save_click(e:MouseEvent) {
if (captrueBmd) {
//定义jpg图片文件流
var jpgEncoder:JPGEncoder=new JPGEncoder(95);
var jpgStream:ByteArray=jpgEncoder.encode(captrueBmd);
FileRefe.save(jpgStream, "myphoto.jpg");
}
}
}
}
这程序存图时是弹出对话框
我需要存图时,存到pic命名的文件夹内 命名是1.jpg;2.jpg;3.jpg… 展开
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.geom.Matrix;
import flash.net.FileReference;
import flash.utils.ByteArray;
import flash.geom.Rectangle;
import flash.media.Camera;
import flash.media.Video;
import com.adobe.images.JPGEncoder;
public class Main extends Sprite {
private var ii=0;
private var captrueBmd:BitmapData;
private var FileRefe:FileReference = new FileReference();
private var vid:Video;
private var cam:Camera;
public function Main()
{
init();
}
public function init()
{
setupCamera();
capture_btn.addEventListener(MouseEvent.CLICK, capture_click);
save_btn.addEventListener(MouseEvent.CLICK, save_click);
}
private function setupCamera():void
{
trace("setupCamera.....");
vid=new Video(700,400);
cam=Camera.getCamera();
cam.setQuality(0,1);
cam.setMode(1920, 1080, 25);
vid.attachCamera(cam);
addChild(vid);
vid.x=0;
vid.y=50;
}
private function capture_click(e:MouseEvent)
{
if (ii<4) {
if (! captrueBmd) {
captrueBmd=new BitmapData(400,300);
}
captrueBmd.draw(vid);
var myBmt:Bitmap=new Bitmap(captrueBmd);
addChild(myBmt);
myBmt.scaleX=myBmt.scaleY=0.3;
myBmt.y=380;
myBmt.x=60+ii*150;
ii++;
}
}
private function save_click(e:MouseEvent) {
if (captrueBmd) {
//定义jpg图片文件流
var jpgEncoder:JPGEncoder=new JPGEncoder(95);
var jpgStream:ByteArray=jpgEncoder.encode(captrueBmd);
FileRefe.save(jpgStream, "myphoto.jpg");
}
}
}
}
这程序存图时是弹出对话框
我需要存图时,存到pic命名的文件夹内 命名是1.jpg;2.jpg;3.jpg… 展开
4个回答
展开全部
你用的是flex吧,不然没有 pgEncoder这个类。
var f:FileStream=new FileStream();
var file:File=new File("d:/test/1.jpg");
var j:JPEGEncoder=new JPEGEncoder(100);
f.openAsync(file,FileMode.WRITE);
f.writeBytes(j.encode(b));//这里直接写入数据。
刚才试了一下flex建立air可以用。
至于自动命名可以自己弄一个loader,用loader类load一下是否有文件,如果有就把如1.jpg加一下变成2.jpg,一直加到没有为止。目前只有这个方法。
var f:FileStream=new FileStream();
var file:File=new File("d:/test/1.jpg");
var j:JPEGEncoder=new JPEGEncoder(100);
f.openAsync(file,FileMode.WRITE);
f.writeBytes(j.encode(b));//这里直接写入数据。
刚才试了一下flex建立air可以用。
至于自动命名可以自己弄一个loader,用loader类load一下是否有文件,如果有就把如1.jpg加一下变成2.jpg,一直加到没有为止。目前只有这个方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
像楼上说的,如果不是AIR程序还要放到网上,则一定不能实现你要的效果,如果是本地的,可以考虑和其它程序语言结合实现。思路就是这些了,毕竟FLASH的安全限制挺多。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像用File可以,有个SAVEBETYE的啥子方法,前段时间做过,还不知道你这个是做的AIR还是网站,如果是网站用 我想基本不好办了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询