![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2014
Сообщений: 2
|
Добрый день!
Пытаюсь сделать фотографии с Web камеры и отправлять в PHP. Вроде всё работает, но запнулся на размере. Камера позволяет делать снимки аж 1024*720 (ну возьмем хотя бы 640*320). А Flash область самого окна 320*240 (что бы удобней был предпросмотр). И в результате такого снимка получается фото 640*480, только она почти вся черная, кроме верхнего левого квадрата, куда вставляется фото 320*240... Подскажите как это обойти без увеличения рабочей поверхности? 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 = "Отправлено"; } } |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
ресайзить после фотографирования до целевых размеров
|
|
|||||
|
Регистрация: Dec 2014
Сообщений: 2
|
Но ведь фото происходит 320*240, куда потом ресайзить? Лучше качество то не станет )
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
тогда я не понимаю в чем проблема. Черный цвет не нравится? Так битмапдата-то с прозрачностью, а джипег,как известно,прозрачность не поддерживает.
как вариант можно размер захвата и конечное изображение сделать одного размера 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(stage.stageWidth,stage.stageHeight,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 = stage.stageWidth; vid.height = stage.stageHeight; 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(stage.stageWidth, stage.stageHeight, 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 = "Отправлено"; } } Последний раз редактировалось undefined; 10.12.2014 в 20:49. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|