使用网络摄像头视图和图像保存阶段快照在编译后可以工作,但一旦执行文件的位置发生更改就无法工作

发布于 2024-11-10 03:06:25 字数 2495 浏览 9 评论 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(event:MouseEvent):void {

    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;
    }


            }

}

package
{

import 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);
    }

private function captureImage(event:MouseEvent):void {

    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;
    }


            }

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

断舍离 2024-11-17 03:06:25

发布完整的课程而不是片段。
从您发布的内容中,我只能看到

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

我感觉您对问题的描述不准确。

Post the full class instead of snippits.

With what you posted all I can see is

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

I have a feeling you are not accurate on the description of your issues.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文