sexta-feira, 5 de junho de 2009

Código para capturar imagens usando Windows® Image Acquisition Automation Library v2.0

Para quem quiser criar um programa pra capturar imagens de web cam, existe o
componete Windows® Image Acquisition Automation Library v2.0.



Aqui tem um pedaço de código que exemplifica como usar :



Dentro de um código HTML :
- Utilize um tag object com as seguintes propriedads (não transcrevo por que dá bug no blog :o) :

align="middle" id="VideoPreview" classid="clsid:0B5F2CC8-5E1E-44F9-899B-3B789705AFCA"


Dentro do javascript :

function Fotografa() {

try {

var VideoPreview
= document.getElementById('VideoPreview');

var itm =
VideoPreview.Device.ExecuteCommand("{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}");

var i =
itm.Transfer();

var imagepath =
CreateTempFile() + "." + i.FileExtension;

i.SaveFile
(imagepath);

return imagepath;

} catch(exp)
{alert(exp.message);}

}

function
CreateTempFile () {

var fso = new
ActiveXObject ("Scripting.FileSystemObject");

var tfolder =
fso.GetSpecialFolder(2);

return
tfolder.Path + "\\" + fso.GetTempName();

}



A imagem capturada fica na pasta temp, e depois é só utilizar um código para
carregar a imagem. Algo como :



function Captura() {

var
img=document.createElement("IMG");

img.style.position
= "absolute";

img.style.top =
parseInt( vcoords[1] );

img.style.left =
parseInt( vcoords[0] );

img.style.width =
parseInt( vcoords[2] ) - parseInt( vcoords[0] );

img.style.height
= parseInt( vcoords[3] ) - parseInt( vcoords[1] );

img.id = "image"
+ num;

img.src =
Fotografa();

document.body.appendChild(img);

}



Foi feito em uma página html ... é só um exemplo que pode ser utilizado em
qualquer tecnologia dentro do windows, já que o componente é COM.

Lembrando que a câmera tem que ter driver WIA compatível.



Link de download do componente :




Para trasmitir para a internet ? Bom, dae é mais caro !!!!




Nenhum comentário:

Postar um comentário