Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.07.2014, 22:19
syegorius вне форума Посмотреть профиль Отправить личное сообщение для syegorius Найти все сообщения от syegorius
  № 1  
Ответить с цитированием
syegorius

Регистрация: Nov 2010
Сообщений: 91
Attention Как правильно получить снапшот с камеры и отправить на сервер

доброе время суток.

столкнулся с такой проблемой, что нужно сделать снапшот пользователя с его камеры, показать ему что сфотографированно и потом отправить это на сервер.

нашел вот эту библиотеку http://www.xarg.org/project/jquery-webcam-plugin/. начал разбираться. в итоге в as-файле есть такие ф-ции:

Код AS3:
public static function capture(time:Number):Boolean {//начало
 
		if (null != camera) {
 
			if (null != buffer) {
				return false;
			}
 
			buffer = new BitmapData(Stage.width, Stage.height);
			ExternalInterface.call('webcam.debug', "notify", "Capturing started.");
 
			if ("stream" == mode) {
				_stream();
				return true;
			}
 
			if (!time) {
				time = -1;
			} else if (time > 10) {
				time = 10;
			}
 
			_capture(time + 1);//попадаем сюда
 
			return true;
		}
		return false;
	}
 
	private static function _capture(time:Number):Void {
 
		if (null != interval) {
			clearInterval(interval);
		}
 
		if (0 == time) {
			buffer.draw(_root.video);
			ExternalInterface.call('webcam.onCapture');//здесь конец
			ExternalInterface.call('webcam.debug', "notify", "Capturing finished.");
		} else {
			ExternalInterface.call('webcam.onTick', time - 1);
			interval = setInterval(_capture, 1000, time - 1);
		}
	}
подскажите, как мне отсюда достать содержимое картинки и передать его в яваскрипт, что б создать картинку с полученым снапшотом?

заранее спасибо за помощь!

Старый 19.07.2014, 06:28
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 2  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
не понимаю зачем яваскрипт, jquery.

снапшот с отправкой на сервер будет так:
Код AS3:
var camera:Camera = Camera.getCamera();
var video:Video   = new Video(camera.width, camera.height);
video.attachCamera(camera);
camera.addEventListener(ActivityEvent.ACTIVITY, onActivity);
 
function onActivity (event:Event):void
{
	camera.removeEventListener(ActivityEvent.ACTIVITY, onActivity);
 
	var bitmapData:BitmapData = new BitmapData(video.width, video.height);
	bitmapData.draw(video);
 
	var boundary:String     = Math.round(Math.random() * 100000000).toString();
	var byteArray:ByteArray = new ByteArray();
	byteArray.writeUTFBytes("--" + boundary + "\nContent-Disposition: form-data; name=\"Filedata\"; filename=\"foto.png\"\nContent-Type: application/octet-stream\n\n");
	bitmapData.encode(bitmapData.rect, new PNGEncoderOptions(), byteArray);
	byteArray.writeUTFBytes("\n--" + boundary + "-");
 
	var request:URLRequest = new URLRequest("http://localhost/1.php");
	request.contentType = "multipart/form-data; boundary=" + boundary;
	request.data = byteArray;
	request.method = URLRequestMethod.POST;
 
	var loader:URLLoader = new URLLoader();
	loader.addEventListener(Event.COMPLETE, trace);
	loader.load(request);
}
PHP код:
<?
move_uploaded_file
($_FILES['Filedata']['tmp_name'], $_FILES['Filedata']['name']);
?>


Последний раз редактировалось Nooob; 19.07.2014 в 06:46.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:35.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.