📄 bitmappixelateeffect.as.svn-base
字号:
/**
* ...
* @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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -