Segundo ele é com base nesse código que ele faz uns modelos de detecção de movimento que também tem no site, muito bom. Confiram
//importando as classes que serão utilizadas
import flash.display.*;
import flash.geom.*;
//objeto Camera
var camera:Camera = Camera.get();
//anexar o objeto Camera ao objeto video que esta no movieClip mcCam
mcCam.webcam.attachVideo(camera);
//objeto BitmapData da imgem final
var imagem:BitmapData = new BitmapData(camera.width, camera.height, false, 0);
//objeto BitmapData que conterá a imagem modificada
var imagemContainer:BitmapData = new BitmapData(camera.width, camera.height, false, 0);
//objeto retangulo, define a área da imagem fonte no método threshold
var retangulo = new Rectangle(0, 0, camera.width, camera.height);
//objeto ponto, os pontos correspondem ao topo na esquerda da imagem fonte no método threshold
var ponto = new Point(0, 0);
//função que desenhará a nova imagem
function atualizarImagem():Void{
//desenha a imagem da webcam no objeto BitmapData
imagemContainer.draw(mcCam.webcam);
//através do método threshold é efetuada a troca de cores
imagem.threshold(imagemContainer, retangulo, ponto, "<", 8000000, 0x006600, 0xFF0000, false); imagem.threshold(imagemContainer, retangulo, ponto, ">", 8000000, 0xFF3333, 0xFF0000, false);
imagem.threshold(imagemContainer, retangulo, ponto, ">", 10000000, 0xFFFF66, 0xFF0000, false);
imagem.threshold(imagemContainer, retangulo, ponto, ">", 12000000, 0x99FF66, 0xFF0000, false);
imagem.threshold(imagemContainer, retangulo, ponto, ">", 15000000, 0xFFFFFF, 0xFF0000, false);
};
//movieClip para armazenar as imagens modificadas
this.createEmptyMovieClip('mcCamModificado', this.getNextHighestDepth());
mcCamModificado._x = 20;
mcCamModificado._y = mcCam._y + mcCam._height + 20;
//primeira imagem modificada
mcCamModificado.createEmptyMovieClip('cam1', mcCamModificado.getNextHighestDepth());
mcCamModificado.cam1.attachBitmap(imagem, mcCamModificado.getNextHighestDepth()); //anexa a imagem
//segunda imagem modificada
mcCamModificado.createEmptyMovieClip('cam2', mcCamModificado.getNextHighestDepth());
mcCamModificado.cam2.attachBitmap(imagem, mcCamModificado.getNextHighestDepth()); //anexa a imagem
mcCamModificado.cam2._xscale = -100; //inverte a imagem
mcCamModificado.cam2._x = mcCamModificado.cam1._x +mcCamModificado.cam1._width + mcCamModificado.cam1._width - 1;
//a função setInterval executa a atualização das imagens
setInterval(atualizarImagem, 50);
import flash.display.*;
import flash.geom.*;
//objeto Camera
var camera:Camera = Camera.get();
//anexar o objeto Camera ao objeto video que esta no movieClip mcCam
mcCam.webcam.attachVideo(camera);
//objeto BitmapData da imgem final
var imagem:BitmapData = new BitmapData(camera.width, camera.height, false, 0);
//objeto BitmapData que conterá a imagem modificada
var imagemContainer:BitmapData = new BitmapData(camera.width, camera.height, false, 0);
//objeto retangulo, define a área da imagem fonte no método threshold
var retangulo = new Rectangle(0, 0, camera.width, camera.height);
//objeto ponto, os pontos correspondem ao topo na esquerda da imagem fonte no método threshold
var ponto = new Point(0, 0);
//função que desenhará a nova imagem
function atualizarImagem():Void{
//desenha a imagem da webcam no objeto BitmapData
imagemContainer.draw(mcCam.webcam);
//através do método threshold é efetuada a troca de cores
imagem.threshold(imagemContainer, retangulo, ponto, "<", 8000000, 0x006600, 0xFF0000, false); imagem.threshold(imagemContainer, retangulo, ponto, ">", 8000000, 0xFF3333, 0xFF0000, false);
imagem.threshold(imagemContainer, retangulo, ponto, ">", 10000000, 0xFFFF66, 0xFF0000, false);
imagem.threshold(imagemContainer, retangulo, ponto, ">", 12000000, 0x99FF66, 0xFF0000, false);
imagem.threshold(imagemContainer, retangulo, ponto, ">", 15000000, 0xFFFFFF, 0xFF0000, false);
};
//movieClip para armazenar as imagens modificadas
this.createEmptyMovieClip('mcCamModificado', this.getNextHighestDepth());
mcCamModificado._x = 20;
mcCamModificado._y = mcCam._y + mcCam._height + 20;
//primeira imagem modificada
mcCamModificado.createEmptyMovieClip('cam1', mcCamModificado.getNextHighestDepth());
mcCamModificado.cam1.attachBitmap(imagem, mcCamModificado.getNextHighestDepth()); //anexa a imagem
//segunda imagem modificada
mcCamModificado.createEmptyMovieClip('cam2', mcCamModificado.getNextHighestDepth());
mcCamModificado.cam2.attachBitmap(imagem, mcCamModificado.getNextHighestDepth()); //anexa a imagem
mcCamModificado.cam2._xscale = -100; //inverte a imagem
mcCamModificado.cam2._x = mcCamModificado.cam1._x +mcCamModificado.cam1._width + mcCamModificado.cam1._width - 1;
//a função setInterval executa a atualização das imagens
setInterval(atualizarImagem, 50);
LINK PARA A POSTAGEM ORIGINAL
MODELOS
Fonte: http://blog.ericksouza.com/60/
Nenhum comentário:
Postar um comentário