저는 플래시와 관련해 루키가 가장 루키입니다.플래시 : BitmapData.draw (비디오)가 비디오 높이를 무시합니다.
// Here's the dumb-dumb:
/*****************************************************************/
/*****************************************************************/
function captureImage(e:MouseEvent):void {
// The video still-image is captured and drawn...but at 320x240? Oh, and the real kicker is that it gets squeezed (resized), not cropped.
bitmapData.draw(video);
}
/*****************************************************************/
/*****************************************************************/
// Here's the other relevant code...
/*****************************************************************/
var bandwidth:int = 0;
var quality:int = 100;
var myWidth:int = 320; // the width for camera, video, and bitmaps.
var myHeight:int = 320; // the height for camera, video, and bitmaps.
var cam:Camera = Camera.getCamera();
cam.setQuality(bandwidth, quality);
cam.setMode(myWidth,myHeight,30,false); // (width, height, FPS, favorSize)
var video:Video = new Video();
video.attachCamera(cam);
video.x = 20;
video.y = 20;
// setting the video.width and video.height here makes the video appear in the desired aspect-ratio (1:1). If this is not set it defaults to 320x240.
video.width = myWidth;
video.height = myHeight;
addChild(video);
// 0xff0000 sets a red background just so I can see that the BitmapData "element" is 320x320 like it should be.
var bitmapData:BitmapData = new BitmapData(myWidth, myHeight, false, 0xff0000);
var bitmap:Bitmap = new Bitmap(bitmapData);
bitmap.x = 360;
bitmap.y = 20;
bitmap.width=myWidth;
bitmap.height=myHeight;
addChild(bitmap);
// capture_mc is my take-a-picture button. :-)
capture_mc.buttonMode = true;
capture_mc.addEventListener(MouseEvent.CLICK,captureImage);
그래서, 내가 여기 실종 :
다음은 액션 스크립트 (3)입니다. Flash 제작자는 모든 이미지를 4 : 3 비율로 표시해야한다고 주장하지 않습니다. : o)
어쨌든 "n00b"를 도와 주셔서 감사합니다.
p.s. Flash가 Ctrl + Y를 사용하여 Ctrl + Shift + Z (예 : Photoshop) 대신 "다시 실행"을 사용하면 flash.events.destroy(flash)
또는 무엇인가를 원하게됩니다.
UPDATE : 나는 320 (240)에서 비디오를 스트레칭하지만 그 일에서 품질의 상당한 감소가하는 방법을 알아 냈
.
var bitmapData:BitmapData = new BitmapData(myWidth,
240
, false, 0xff0000);
var bitmap:Bitmap = new Bitmap(bitmapData);
bitmap.x = 360;
bitmap.y = 20;
bitmap.width=myWidth;
bitmap.height=240;
: 여기 BOLD에서 업데이트 된 부품 코드입니다 addChild(bitmap);
bitmap.scaleY=1.333; // ADDED scaleY
그래서 난 아직도 품질을 극대화 해결책을 찾기 위해 싶습니다.
감사합니다. 'videoHeight'와'videoWidth'는 읽기 전용입니다. 또한 비디오 DisplayObject는 올바른 종횡비 (320x320 또는 1 : 1)로 라이브 웹캠 비디오를 표시합니다.이미지를 320x240 크기로 압축 한 것입니다. –
기술적으로 Ctrl + Shift + Z는 실행 취소를 실행 취소합니다. :-) –