visualizar una tamaños tamaño saber resolucion recomendable que pixeles peso para pantalla las imprimir imagenes imagen fotos dimensiones convertir como bytes flash actionscript-3 video webcam bitmapdata

flash - una - AS3: las dimensiones de video de la cámara web no se transfieren a los nuevos BitmapData, por defecto a 320x240



tamaño en pixeles para imprimir fotos (2)

Intenta bajar tus cuadros por segundo, en lugar de

cam.setMode(1920,1080,60,true); //60 FPS

tratar

cam.setMode(1920,1080,10,true); //10 FPS

No necesita 60 fps si todo lo que hace es tomar una instantánea

También existe la posibilidad de que su cámara web no sea compatible con 1920x1080. Tal vez intente tamaños más pequeños también si cambiar FPS no ayuda.

Estoy intentando capturar una captura de webcam de 1920x1080 y crear un nuevo mapa de bits con la captura. Siento que tengo todas las configuraciones de dimensión correctas, pero el mapa de bits final de 1920x1080 solo contiene una pequeña versión de 320x240 de la captura de video. ¡Ayuda!

import flash.display.Bitmap; import flash.display.BitmapData; var bandwidth:int = 1000; // Maximum amount of bandwidth that the current outgoing video feed can use, in bytes per second. var quality:int = 100; // This value is 0-100 with 1 being the lowest quality. var cam:Camera = Camera.getCamera(); cam.setQuality(bandwidth, quality); cam.setMode(1920,1080,60,true); // setMode(videoWidth, videoHeight, video fps, favor area) var video:Video = new Video(); video.attachCamera(cam); video.x = 0; video.y = -100; video.width = 1920; video.height = 1080; addChild(video); var bitmapData:BitmapData = new BitmapData(video.width, video.height); var bitmap:Bitmap = new Bitmap(bitmapData); bitmap.x = 0; bitmap.y = 0; bitmap.width = 1920; bitmap.height = 1080; addChild(bitmap); bitmap.visible = false; capture_mc.buttonMode = true; capture_mc.addEventListener(MouseEvent.CLICK,captureImage); function captureImage(e:MouseEvent):void { bitmapData.draw(video); bitmap.visible = true; }


Luché con un problema casi idéntico por un tiempo. La imagen de mapa de bits tenía el tamaño deseado, pero la foto solo ocupaba un tercio del espacio dentro de la imagen de mapa de bits, lo que dejaba mucho espacio en blanco a su alrededor.

Con suerte, alguien puede sugerir una mejor solución, pero esto es lo que hice para solucionarlo:

var trans:Matrix = new Matrix(); trans.scale(3, 3); bitmapData.draw(v, trans );

Sugeriría para su ejemplo, cambie la escala de 3 a 1920/320.

Otro consejo: después de configurar el modo de cámara, intente seguir la altura y el ancho de la cámara. Esto le dirá cuántos píxeles se están capturando en realidad. Por ejemplo, en mi proyecto intenté establecer la siguiente configuración:

c.setMode(2048, 1536, 5, true); trace (c.width, c.height, "cam res");

(donde c = la cámara) La salida fue "960 720 cam res", lo que sugiere que esta era la resolución máxima que mi cámara podía manejar, en lugar del 2048 deseado por 1536

La imagen resultante no estaba pixelada, pero no era tan buena como las imágenes capturadas por el software nativo. No estoy seguro de si esto se debió a mi método o al JPGEnocoder que utilicé para comprimir los datos del mapa de bits.

También (y podría estar equivocado sobre esto) - pero podría valer la pena intentarlo:

c.setQuality(0,100);

por lo tanto, el ancho de banda no es una consideración, y se pone énfasis en la calidad.