bitmappixelateeffect.as.svn-base
来自「一个2D基于verlet的Flash物理引擎。它用AS3编写而成。Fisix的目」· SVN-BASE 代码 · 共 62 行
SVN-BASE
62 行
/**
* ...
* @author Default
* @version 0.1
*/
package org.papervision3d.core.effects {
import flash.display.BitmapData;
import flash.geom.Rectangle;
import org.papervision3d.core.layers.*;
public class BitmapPixelateEffect extends AbstractEffect{
private var layer:BitmapEffectLayer;
public var size:int;
public function BitmapPixelateEffect(size:int = 4){
this.size = size;
}
public override function attachEffect(layer:EffectLayer):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));
}
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?