2011-05-25 24 views
0


{舞台快照与摄像头视图和图像保存在编译后的工作,但一旦执行文件的位置不工作改变

进口flash.display.DisplayObject;

import flash.display.IBitmapDrawable; 
import flash.display.Stage; 
import flash.net.FileFilter; 
import com.adobe.images.JPGEncoder; 
import com.adobe.images.PNGEncoder; 
import flash.display.Bitmap; 
import flash.display.BitmapData; 
import flash.display.BlendMode; 
import flash.display.Sprite; 
import flash.events.Event; 
import flash.filters.ColorMatrixFilter; 
import flash.media.Camera; 
import flash.media.Video; 
import flash.display.Graphics; 
import flash.events.MouseEvent; 
import flash.display.Loader; 
import flash.net.URLRequest; 
import flash.net.URLRequestHeader; 
import flash.net.URLRequestMethod; 
import flash.net.URLLoader; 
import flash.display.MovieClip; 

import flash.display.DisplayObject; 

import flash.geom.Matrix; 

import flash.utils.ByteArray; 
import flash.net.FileReference; 
import flash.geom.Rectangle; 
import flash.geom.Point; 



public class Main extends Sprite 
{ 
    private var drawMatrix:Matrix; 
    private var Mask2:Loader = new Loader(); 
    private var byteArray:ByteArray; 
    private var jpg:JPGEncoder = new JPGEncoder(); 
    private var file:FileReference; 
    private var cam : Camera = Camera.getCamera(); 
    private var vid : Video = new Video(640, 500); 
    private var bitmapData:BitmapData = new BitmapData(vid.width, vid.height); 
    private var bitmap:Bitmap ; 
    private var fileReference:FileReference; 

    public function Main() 
    { 
     initTracking(); 
    } 

    private function initTracking() : void 
    { 
     var camW : int = 640; 
     var camH : int = 500; 

     // Create the camera 

     cam.setMode(camW, camH, stage.frameRate); 

     // Create a video 

     vid.attachCamera(cam); 
     addChild(vid); 

     Mask2.load(new URLRequest("button.png")); 
     addChild(Mask2); 
     Mask2.y = 100; 
     Mask2.addEventListener(MouseEvent.CLICK, captureImage); 
    } 

私有函数captureImage(事件:MouseEvent)方法:无效{

bitmapData= new BitmapData(stage.width, stage.height) 
    bitmapData.draw(stage, new Matrix()); 
    var bitmapDataA: BitmapData = new BitmapData(300, 250); 
     bitmapDataA.copyPixels(bitmapData, new Rectangle(360, 20, 620, 540), new Point(0, 0)); 

    bitmap= new Bitmap(bitmapDataA); 
       addChild(bitmap); 
       bitmap.x = 0; 
       bitmap.y = 556; 
       bitmap.width = 105; 
       bitmap.height = 80; 
    } 


      } 

} 
+0

你能澄清一下发生了什么吗? – 2011-05-25 20:28:18

+0

谢谢阿森松系统。我在上面修改了我的问题和课程。请看看这次,并尽可能帮助我。 – Emdad 2011-05-26 05:28:53

+0

当你说“执行文件的位置发生了变化”时,你究竟是什么意思? – 2011-05-26 16:34:06

回答

1

邮报满级的,而不是snippits。
随着你贴我能看到什么是

//bitmapData is not defined 
var byteArray:ByteArray = encoder.encode(bitmapData); 

我有一种感觉,你是不准确的对您的问题进行说明。

+0

感谢您的回复。其实我想为我的整个舞台拍一张照片。有了这个兴趣,我在舞台上加载了网络摄像机和一个图像,我想要的是单击图像以将按钮图像与网络摄像头视图一起快照。以下是供您参考的课程。 [如果我把“bitmapData.draw(vid,new matrix());那么它的工作,但如果我采取bitmapData.draw(阶段,新矩阵());它不工作],请帮助我展示任何方式让它工作,非常感谢 – Emdad 2011-05-26 05:17:54

+0

谢谢,Ascension Systems和The_asMan。我修改了我的问题和上面的类,请看看它,如果可能,请帮助我。 – Emdad 2011-05-26 05:28:22