Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-07-2011, 10:47   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 17
AS3 Bitmap aus Video/Webcam mit richtiger Auflösung

Hallo,

ich versuche ein Bitmap aus einer Webcam anzuzeigen. Jedoch wird diese auf 320x240 runterskaliert und mit dem BitmapData-Rahmen angezeigt.

Ich habe also einen btnAusloesen und einen mcBild, indem ich das Bild anzeigen möchte. Und das ohne Videoanzeige und Screenshot-Befehle.


Danke vielmals im vorraus


HTML-Code:
// VIDEO
var myCam = Camera.getCamera();

var myVideo:Video = new Video();
myVideo.attachCamera(myCam);

var myBandwidth:int = 0;
var myQuality:int = 100;
myCam.setQuality(myBandwidth, myQuality);
myCam.setMode(1334,1001,25,false);


// ANZEIGE BILD
btnAusloesen.addEventListener(MouseEvent.CLICK, onclick);
function onclick(event:MouseEvent)
{
	var myBitmap:BitmapData = new BitmapData(1334,1001);
	var myBild:Bitmap = new Bitmap(myBitmap);
	myBitmap.draw(myVideo);

	mcBild.addChild(myBild);
	myBild.x = 0;
	myBild.y = 0;
	myBild.width = 1334;
	myBild.height = 1001;
	myBild.smoothing = true;
}
anneanneanne ist offline   Mit Zitat antworten
Alt 18-07-2011, 11:23   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Da Du ja nicht direkt die Camera in das BitmapData zeichnen kannst, sondern dafür die Video-Insanz verwenden musst, ist auch deren Größe für die Darstellungsgröße beim Zeichnen verantwortlich. Diese solltest Du also vorher setzen:
PHP-Code:
myVideo.width 1334;
myVideo.height 1001
Unabhängig davon, kann es sein, das die WebCam die geforderte Auflösung nicht unsterstützt. AFIAK springt sie dann automatisch auf die nächstgelegene unterstütze Auflösung, die man auch auslesen kann:
PHP-Code:
trace("width: "+myCam.width+", height:"+myCam.height); 
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 18-07-2011, 13:34   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 17
Hallo Martin,

ich hatte die unrelevanten Aspekte einmal weggelassen.
Das angeben einer Breite und Höhe für myVideo führt zu keinem Unterschied
Die Breite und Höhe von myCam sind 640x480 auch wenn sie vom Hersteller mit wesentlich mehr angegeben ist (HD-Kamera). Aber das ist evtl. unwesentlich, da die Anzeige des Videos sehr gut ist. Nur eben nicht des daraus gezeichneten Bitmaps.

Ich bin ratlos. Hier nochmals der gesamte Code:

HTML-Code:
/*
trace("CAMERA NAME: "+Camera.getCamera().name);
trace("WIDTH: "+Camera.getCamera().width); 
trace("HEIGHT: "+Camera.getCamera().height);
*/


// VIDEO
var myCam = Camera.getCamera();

var myVideo:Video = new Video();
myVideo.attachCamera(myCam);

var myBandwidth:int = 0;
var myQuality:int = 100;
myCam.setQuality(myBandwidth, myQuality);
myCam.setMode(1334,1001,25,false);



// ANZEIGE VIDEO -> nicht gewuenscht
/*
mcBild.addChild(myVideo);
myVideo.width = 1334;
myVideo.height = 1001;
myVideo.smoothing = true;
myVideo.x = 0;
myVideo.y = 0;
*/



// ANZEIGE BILD
btnAusloesen.addEventListener(MouseEvent.CLICK, onclick);
function onclick(event:MouseEvent)
{
	var myBitmap:BitmapData = new BitmapData(1334,1001);
	var myBild:Bitmap = new Bitmap(myBitmap);
	myBitmap.draw(myVideo); // myVideo -> stage -> nicht gewuenscht
	
	trace(" ");
	trace("MYBILD: ");
	trace("WIDTH: "+myBild.width);
	trace("HEIGHT: "+myBild.height);

	mcBild.addChild(myBild);
	myBild.x = 0;
	myBild.y = 0;
	myBild.width = 1334;
	myBild.height = 1001;
	myBild.smoothing = true;
}
anneanneanne ist offline   Mit Zitat antworten
Alt 18-07-2011, 13:52   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Dann übergib der Methode draw mal einen matrix-Parameter mit den nötigen Skalierungsinformationen:
PHP-Code:
    var matrix:Matrix = new Matrix(
        
1334 myVideo.scaleX/myVideo.width,
        
00,
        
1001 myVideo.scaleY/myVideo.height
    
);
    
    
myBitmap.draw(myVideomatrix); 
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 18-07-2011, 14:27   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 17
Ha, das klappt :-) Super

Vielen Dank Martin.

Dann recherchier ich mal die Lösung...
anneanneanne ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bitmap, data, draw, video, webcam

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Maximale Webcam Auflösung auslesen gembay ActionScript 3 2 01-07-2011 22:36
BitmapData.draw() von Video - Auflösung Mic_K ActionScript 2 2 18-05-2009 16:26
video auflösung usw. deak Flash 8 5 09-01-2007 09:50
Video und Bitrate, Auflösung Raycer Am Rande 1 22-09-2006 16:48
Auflösung im Video Stream einstellen ? agm65 Flash Media Server 5 10-05-2006 19:53


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:38 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele