在网络摄像头源上叠加图像

时间:2011-08-09 05:58:41

标签: flex image flex4 webcam

我正在尝试创建的应用程序出现问题。我想知道如何在网络摄像头上添加图像?

现在我可以加载图像,但是网络摄像头输入就在它上面。这不允许我查看图像

任何帮助都是有用的

2 个答案:

答案 0 :(得分:0)

很容易。

<Group>
   <s:VideoDisplay source="{yourVideoFeed}" />
   <s:Image source="path/to/image.jpg" />
</Group>

答案 1 :(得分:0)

我用之前的想法/评论解决了这个问题,我附上了我的代码:

<?xml version="1.0" encoding="utf-8"?>

             

        protected function inicializar(event:FlexEvent):void {
            mergeImages();          
        }


        public function makeBitmap(myDO:DisplayObject):BitmapData  {
            var myBD:BitmapData = new BitmapData(myDO.width, myDO.height);
            myBD.draw(myDO);
            return myBD;
        }

        private function mergeImages():void {
            try{
                var bitMapData1:BitmapData = makeBitmap(this.img00); //or embedded item
                var bitMapData2:BitmapData = makeBitmap(this.img01); // "

                var bitmap:Bitmap = new Bitmap(bitMapData1);

                var mult:uint = 50; // 50% ó 0x80
                bitmap.bitmapData.merge(bitMapData2, new Rectangle(0, 0, this.img02.width, this.img02.height), new Point(0, 0), mult, mult, mult, mult);

                this.img02.source = bitmap;
            }
            catch(error:Error){
                Alert.show("" + error.message);
            }
        }
    ]]>
</fx:Script>
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:SWFLoader id="img01" x="49" y="40" width="163" height="107" source="img01.png"/>

<s:SWFLoader id="img00" x="59" y="178" width="148" height="110" source="img00.png"/>


<s:SWFLoader id="img02" x="361" y="134" width="401" height="315" scaleContent="true" maintainAspectRatio="false" />