Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155

    [as3] Fare "foto" ad un video

    Salve a tutti
    Rieccomi qui a chiedere il vostro aiuto...
    Ho creato un filmato flash che visualizza il video di una webcam, e fin qui tutto semplice.
    Ora vorrei fare in modo che, alla pressione di un bottone, flash scattasse una foto al video e che poi la visualizzasse da qualche parte (un loader o un clip o qualcos'altro).
    Non ho la più pallida idea di come cominciare, quindi chiedo aiuto.

    Posto anche il codice che ho già fatto

    Codice PHP:
    import fl.controls.Button;
    var 
    scatta:Button = new Button();

    var 
    webcam:Camera Camera.getCamera();
    var 
    video:Video = new Video();
    video.attachCamera(webcam);

    addChild(video);
    addChild(scatta);

    video.10;
    video.50;
    scatta.label "Scatta";
    scatta.10;
    scatta.10;

    scatta.addEventListener(MouseEvent.CLICK,fscatta);

    function 
    fscatta(evt:Event){
        
    //COSA DEVO SCRIVERE???

    Grazie a tutti

  2. #2
    Non ho mai provato a fare "foto" sui video, cmq la stessa cosa applicata ad un movieclip per esempio si fa con la classe BitmapData.
    Per esempio supponendo che clip_mc sia il clip che vuoi "fotografare":

    codice:
    var img:Bitmap;
    var img_dati:BitmapData;
    
    img_dati=new BitmapData(clip_mc.width,clip_mc.height,true,0x00FFFFFF);
    img_dati.draw(clip_mc);
    img=new Bitmap(img_dati);
    img.x=100;
    img.y=100;
    addChild(img);
    Praticamente scatti una foto al clip e crei una Bitmap che poi ti puoi posizionare dove vuoi sullo stage.
    Ti ripeto però che non ho idea se funzioni coi video.

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Quello che hai scritto finora è ok.
    Per effettuare uno "scatto" devi usare la classe BitmapData e la sua funzione draw() passandogli come parametro l'oggetto di visualizzazione di cui vuoi lo snapshot, poi la colleghi ad un'istanza di Bitmap e la visualizzi sullo stage, con un codice come questo:

    Codice PHP:
    import fl.controls.Button;
    var 
    v:Video addChild(new Video()) as Video;
    v.10;
    v.50;
    v.attachCamera (Camera.getCamera());
    var 
    b:Bitmap addChild(new Bitmap()) as Bitmap;
    b.v.v.width 10;
    b.v.y;
    var 
    p:Button addChild(new Button()) as Button;
    p.p.10;
    p.label "scatta";
    p.addEventListener (MouseEvent.CLICKclickHandler);
    function 
    clickHandler (evt:MouseEvent) {
        var 
    temp_bd:BitmapData = new BitmapData(v.widthv.heightfalse0x00808080);
        
    temp_bd.draw (v);
        
    b.bitmapData temp_bd;


  4. #4
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155
    Ok grazie mille a tutti funziona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.