topical media & game development
student-ar-org-papervision3d-core-effects-BitmapPixelateEffect.ax
student-ar-org-papervision3d-core-effects-BitmapPixelateEffect.ax
[swf]
[flash]
flex
...
author: Default
version: 0.1
package org.papervision3d.core.effects {
import flash.display.BitmapData;
import flash.geom.Rectangle;
import org.papervision3d.view.layer.BitmapEffectLayer;
public class @ax-student-ar-org-papervision3d-core-effects-BitmapPixelateEffect extends AbstractEffect{
private var layer:BitmapEffectLayer;
public var size:int;
public function @ax-student-ar-org-papervision3d-core-effects-BitmapPixelateEffect(size:int = 4){
this.size = size;
}
public override function attachEffect(layer:BitmapEffectLayer):void{
this.layer = BitmapEffectLayer(layer);
}
public override function preRender():void{
}
public override function postRender():void{
if(size <= 1)
return;
var xs:Number = Math.ceil(layer.canvas.width/size);
var ys:Number = Math.ceil(layer.canvas.height/size);
var xPos:Number = 1;
var yPos:Number = 1;
var rect:Rectangle = new Rectangle(1, 1, size, size);
var canvas:BitmapData = layer.canvas;
for(var i:Number = 0;i<=xs;i++){
for(var j:Number = 0;j<=ys;j++){
xPos = i*size+1;
yPos = j*size+1;
rect.x = xPos-size/2;
rect.y = yPos-size/2;
canvas.fillRect(rect, canvas.getPixel32(xPos, yPos));
}
}
}
}
}
(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.