+展开
-ActionScript
ColorTransform(redMultiplier:Number = 1.0, greenMultiplier:Number = 1.0,blueMultiplier:Number = 1.0, alphaMultiplier:Number = 1.0, redOffset:Number = 0,greenOffset:Number = 0, blueOffset:Number = 0, alphaOffset:Number = 0)
+展开
-ActionScript
merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point,redMultiplier :uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void
+展开
-XML
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="500"
height="550" creationComplete="imgMod()">
<mx:Script>
<![CDATA[
import mx.core.BitmapAsset;
import mx.controls.Image;
[Embed(source="../assets/bigshakey.png")]
private var shakey:Class;
[Embed(source="../assets/mao.jpg")]
private var mao:Class;
//superimpose the two images together
//using the vslider data
private function imgMod():void
{
var maoData:BitmapData =
new BitmapData(firstImg.width,firstImg.height);
var shakeyData:BitmapData =
new BitmapData(secondImg.width,secondImg.height);
maoData.draw(firstImg);
shakeyData.draw(secondImg);
maoData.colorTransform(new Rectangle(0, 0,
maoData.width, maoData.height),
new ColorTransform(redSlider.value/10,
greenSlider.value/10,
blueSlider.value/10,alphaSlider.value/10));
var red:uint = (uint(redSlider.value.toString(16)) /
10) * 160;
var green:uint =
(uint(greenSlider.value.toString(16)) / 10) * 160;
var blue:uint = (uint(blueSlider.value.toString(16))
/ 10) * 160;
var alpha:uint =
(uint(alphaSlider.value.toString(16)) / 10) * 160;
shakeyData.merge(maoData, new Rectangle(0, 0,
shakeyData.width,shakeyData.height),
new Point(0, 0), red, green, blue, alpha);
mainImg.source = new BitmapAsset(shakeyData);
}
]]>
</mx:Script>
<mx:HBox>
<mx:Image id="firstImg" source="{mao}" height="200"
width="200"/>
<mx:Image id="secondImg" source="{shakey}" height="200"
width="200"/>
</mx:HBox>
<mx:HBox>
<mx:Text text="Red"/>
<mx:VSlider height="100" id="redSlider" value="5.0"
change="imgMod()"/>
<mx:Text text="Blue"/>
<mx:VSlider height="100" id="blueSlider" value="5.0"
change="imgMod()"/>
<mx:Text text="Green"/>
<mx:VSlider height="100" id="greenSlider" value="5.0"
change="imgMod()"/>
<mx:Text text="Alpha"/>
<mx:VSlider height="100" id="alphaSlider" value="5.0"
change="imgMod()"/>
</mx:HBox>
<mx:Image id="mainImg"/>
</mx:VBox>