PDA

Просмотр полной версии : crash adl.exe in Flash Builder 4.7 (AIR3.1 / Flex 4.6 )


AlexCooper
20.05.2013, 16:10
Здравствуйте.
Какие могут быть варианты почему крэшиться adl.exe при изменении резолюции на самую высокую.
if (true)
{
// крах
settings.userMaskResolution = CameraResolution.RESOLUTION_1280_960;
settings.rgbResolution = CameraResolution.RESOLUTION_1280_960;
} else {
// все ок
settings.rgbResolution = CameraResolution.RESOLUTION_640_480;
settings.userMaskResolution = CameraResolution.RESOLUTION_640_480;
}
при RESOLUTION_640_480 всё отлично, меняю на RESOLUTION_1280_960 и все. При чем rgbResolution с RESOLUTION_1280_960 работает нормально, а крах вызывает именно userMaskResolution. Если рассказать более детально, проект под AIRKinect. rgbResolution - отвечает за видео изображение, userMaskResolution - генерирует битмапу обрезая его по краям человека. На Скриншоте показана работа при RESOLUTION_640_480

AlexCooper
20.05.2013, 16:23
Есть мысль как поставить временно костыль если не будет решения. Я могу получить RGB картинку в 1280_960 и отдельно получить битмапу с маски при резолюции 640_480, после чего увеличить битмапу с маской и наложить её как маска для RGB-картинки 1280_960.


rgb = new Bitmap();
addChild(rgb);

userMask = new Bitmap();
addChild(userMask);

kinect.addEventListener(CameraImageEvent.RGB_IMAGE_UPDATE, rgbHandler, false, 0, true);
kinect.addEventListener(UserEvent.USERS_MASK_IMAGE_UPDATE, usersMaskImageUpdateHandler, false, 0, true);

protected function usersMaskImageUpdateHandler(event:UserEvent):void
{
for each(var user:User in event.users) {

userMask.bitmapData = user.userMaskData;

}
}
protected function rgbHandler(event:CameraImageEvent):void
{
rgb.bitmapData = event.imageData;
}
посоветуйте как лучше сделать.

Добавлено через 52 минуты
разобрался. Сам киннект не поддерживает пользователскую маску свыше 640х480. буду писать свой костыль.