topical media & game development
#graphic-flex-image-effects-07-source-aether-effects-transformations-GridEffect.ax
#graphic-flex-image-effects-07-source-aether-effects-transformations-GridEffect.ax
[swf]
[flash]
flex
package aether.effects.transformations {
import aether.effects.ImageEffect;
import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.geom.Point;
public class @ax-graphic-flex-image-effects-07-source-aether-effects-transformations-GridEffect extends ImageEffect {
private var _rows:uint;
private var _columns:uint;
public function @ax-graphic-flex-image-effects-07-source-aether-effects-transformations-GridEffect(
rows:uint=2,
columns:uint=2,
blendMode:String=null,
alpha:Number=1
) {
init(blendMode, alpha);
_rows = rows;
_columns = columns;
}
override protected function applyEffect(bitmapData:BitmapData):void {
var w:Number = bitmapData.width;
var tW:Number = w/_columns;
var h:Number = bitmapData.height;
var tH:Number = h/_rows;
var matrix:Matrix = new Matrix();
matrix.scale(tW/w, tH/h);
var image:BitmapData = new BitmapData(tW, tH, true, 0x00000000);
image.draw(bitmapData, matrix);
var grid:BitmapData = new BitmapData(w, h);
var column:uint;
for (var row:uint = 0; row < _rows; row++) {
for (column = 0; column < _columns; column++) {
grid.copyPixels(image, image.rect, new Point(column*tW, row*tH));
}
}
bitmapData.copyPixels(grid, grid.rect, new Point());
}
}
}
(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.