topical media & game development
#graphic-flex-image-effects-07-source-aether-textures-natural-BarkTexture.ax
#graphic-flex-image-effects-07-source-aether-textures-natural-BarkTexture.ax
[swf]
[flash]
flex
package aether.textures.natural {
import aether.textures.ITexture;
import aether.utils.Adjustments;
import aether.utils.ImageUtil;
import flash.display.BitmapData;
import flash.display.BlendMode;
import flash.filters.BlurFilter;
import flash.filters.ConvolutionFilter;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Point;
public class @ax-graphic-flex-image-effects-07-source-aether-textures-natural-BarkTexture implements ITexture {
private var _color:uint;
private var _width:Number;
private var _height:Number;
public function @ax-graphic-flex-image-effects-07-source-aether-textures-natural-BarkTexture(width:Number, height:Number, color:uint=0xBB6600) {
_color = color;
_width = width;
_height = height;
}
public function draw():BitmapData {
var baseX:Number = 40;
var baseY:Number = 200;
var numOctaves:uint = 5;
var fractal:Boolean = false;
var threshold:Number = 57;
var bitmap:BitmapData = new BitmapData(_width, _height, false, 0);
bitmap.perlinNoise(baseX, baseY, numOctaves, int(new Date()), true, fractal, 1, true);
var filtered:BitmapData = new BitmapData(_width, _height, false, 0x999999);
filtered.draw(bitmap, null, new ColorTransform(1, 1, 1, .5));
var matrix:Array=[
-50, 50, 0,
-50, 50, 0,
-50, 50, 0
];
var filter:ConvolutionFilter = new ConvolutionFilter(3, 3, matrix, 2);
ImageUtil.applyFilter(filtered, filter);
var fill:BitmapData = new BitmapData(_width, _height, false, _color);
fill.draw(filtered, null, new ColorTransform(1, 1, 1, .7));
Adjustments.setLevels(fill, 20, 150, 255);
ImageUtil.applyFilter(fill, new BlurFilter(1, 1));
var noise:BitmapData = new BitmapData(_width, _height, false);
noise.noise(int(new Date()), 0, 255, 7, true);
fill.draw(noise, null, new ColorTransform(1, 1, 1, .1), BlendMode.MULTIPLY);
return fill;
}
}
}
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.