<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.graphics.codec.JPEGEncoder;
import mx.events.SliderEvent;
import mx.messaging.events.ChannelEvent;
[Embed("frame_tube_val_small.png")]
private var myImg:Class;
private var myBmp:Bitmap;
[Embed("FrameFilter.pbj", mimeType="application/octet-stream")]
private var TestFilter:Class;
private var shader:Shader;
private var filter:ShaderFilter;
import flash.display.*;
private function init():void {
shader = new Shader(new TestFilter() as ByteArray);
myBmp = Bitmap(new myImg());
shader.data.img2.input = myBmp.bitmapData;
video.width = myBmp.width;
video.height = myBmp.height;
shader.data.filterColor.value = [0,1,0,0];
shader.data.error.value = [1.2];
filter = new ShaderFilter(shader);
video.filters = [filter];
}
private function changeError(event:SliderEvent):void {
trace(event.value);
shader.data.error.value = [event.value];
video.filters = [filter];
}
private var fr:FileReference;
private function savePicture():void {
fr = new FileReference();
var bmpData:BitmapData = new BitmapData(video.width,video.height);
bmpData.draw(video);
var encoder:JPEGEncoder = new JPEGEncoder();
var ba:ByteArray = encoder.encode(bmpData);
fr.save(ba,"myImg.jpg");
}
private function attachCamera():void {
var camera:Camera = Camera.getCamera();
camera.setMode(160*3,120*3,30);
video.attachCamera(camera);
}
]]>
</mx:Script>
<mx:VideoDisplay x="34" y="41" autoPlay="true"
id="video" />
<mx:Button x="242" y="10" label="Save" id="save" click="savePicture()"/>
<mx:Button x="34" y="10" label="Attach Camera" click="attachCamera()"/>
</mx:Application>