Добрый день!
Пытаюсь сделать фотографии с Web камеры и отправлять в PHP.
Вроде всё работает, но запнулся на размере. Камера позволяет делать снимки аж 1024*720 (ну возьмем хотя бы 640*320). А Flash область самого окна 320*240 (что бы удобней был предпросмотр). И в результате такого снимка получается фото 640*480, только она почти вся черная, кроме верхнего левого квадрата, куда вставляется фото 320*240...
Подскажите как это обойти без увеличения рабочей поверхности?

Код AS3:
import com.adobe.images.JPGEncoder;
var vid:Video;
var cam:Camera = Camera.getCamera();
if (cam == null)
{
trace("Unable to locate available cameras.");
}
else
{
cam.setMode(1024,720,15,false);
trace("Found camera: " + cam.name);
cam.addEventListener(StatusEvent.STATUS, statusHandler);
vid = new Video();
vid.attachCamera(cam);
}
function statusHandler(event:StatusEvent):void
{
if (cam.muted) {
trace("Unable to connect to active camera.");
} else {
vid.width = 640;
vid.height = 480;
addChild(vid);
}
cam.removeEventListener(StatusEvent.STATUS, statusHandler);
}
Object(root).photo.addEventListener(MouseEvent.CLICK, photo_click);
function photo_click(event_object:MouseEvent) {
trace("photo_click");
var previewPortData:BitmapData = new BitmapData(640, 480, true, 0x00000000);
var previewPort:Bitmap = new Bitmap(previewPortData);
previewPortData.draw(vid);
var myEncoder:JPGEncoder = new JPGEncoder(90);
var byteArray:ByteArray = myEncoder.encode(previewPortData);
var header:URLRequestHeader = new URLRequestHeader("Content-type", "image/jpeg");
var saveJPG:URLRequest = new URLRequest("w1.php");
saveJPG.requestHeaders.push(header);
saveJPG.method = URLRequestMethod.POST;
saveJPG.data = byteArray;
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, sendComplete);
urlLoader.load(saveJPG);
function sendComplete(event:Event):void {
trace("compete");
Object(root).txt.text = "Отправлено";
}
}