Flex中如何通过BitmapData类的compare()函数对嵌入的两个bitmap进行比较的例子
By Minidxer | October 5, 2008
接下来的例子演示了Flex中如何通过BitmapData类的compare()函数,对嵌入的两个bitmap进行比较。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white"
- creationComplete="init();">
- <mx:Script>
- <![CDATA[
- import flash.display.BitmapData;
- [Bindable]
- [Embed(source="assets/bug.png")]
- private var BugIcon:Class;
- [Bindable]
- [Embed(source="assets/bug_add.png")]
- private var BugAddIcon:Class;
- private var diff:BitmapData;
- private function init():void {
- var bmd1:BitmapData = new BugIcon().bitmapData;
- var bmd2:BitmapData = new BugAddIcon().bitmapData;
- diff = BitmapData(bmd1.compare(bmd2));
- img3.source = new Bitmap(diff);
- }
- ]]>
- </mx:Script>
- <mx:ApplicationControlBar dock="true">
- <mx:Form>
- <mx:FormItem label="image 1 alpha:"
- direction="horizontal">
- <mx:HSlider id="img1_alpha"
- minimum="0"
- maximum="1"
- value="1.0"
- snapInterval="0.1"
- tickInterval="0.1"
- liveDragging="true"
- change="img1.alpha = img1_alpha.value;" />
- <mx:Image source="{BugIcon}" />
- </mx:FormItem>
- <mx:FormItem label="image 2 alpha:"
- direction="horizontal">
- <mx:HSlider id="img2_alpha"
- minimum="0"
- maximum="1"
- value="1.0"
- snapInterval="0.1"
- tickInterval="0.1"
- liveDragging="true"
- change="img2.alpha = img2_alpha.value;" />
- <mx:Image source="{BugAddIcon}" />
- </mx:FormItem>
- <mx:FormItem label="diff image alpha:">
- <mx:HSlider id="img3_alpha"
- minimum="0"
- maximum="1"
- value="1.0"
- snapInterval="0.1"
- tickInterval="0.1"
- liveDragging="true"
- change="img3.alpha = img3_alpha.value;" />
- </mx:FormItem>
- <mx:FormItem label="scale:">
- <mx:HSlider id="scale"
- minimum="1"
- maximum="4"
- value="1"
- liveDragging="true"
- tickInterval="1"
- showTrackHighlight="true" />
- </mx:FormItem>
- </mx:Form>
- </mx:ApplicationControlBar>
- <mx:Canvas>
- <mx:Image id="img1"
- source="{BugIcon}"
- scaleX="{scale.value}"
- scaleY="{scale.value}" />
- <mx:Image id="img2"
- source="{BugAddIcon}"
- scaleX="{scale.value}"
- scaleY="{scale.value}" />
- <mx:Image id="img3"
- scaleX="{scale.value}"
- scaleY="{scale.value}" />
- </mx:Canvas>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Other |
1 Comment » |
343 views
Tags: bitmap, BitmapData, compare()
Trackbacks