AS2边缘柔化类

原创 2006年06月12日 11:09:00

// Soft Edge Prototype
// 
// V1.0 by Mario Klingemann
// www.quasimondo.com
//
// Usage:
// MovieClip.softEdge(Blur Radius,Background Color);

MovieClip.prototype.drawRect2 = function(x1, y1, x2,y2) {
    this.moveTo(x1, y1);
    this.lineTo(x2, y1);
    this.lineTo(x2, y2);
    this.lineTo(x1, y2);
    this.lineTo(x1, y1);
    
};

MovieClip.prototype.softEdge = function(blur, color) {
    
    this.createEmptyMovieClip("se_cover",1970)
    var b=this.getBounds(this)
    this.se_cover.clear()
    trace(this.cover);
    for (var i = 0; i<=blur; i++) {
        this.se_cover.lineStyle(3,color, 100-(100/blur)*i);
        this.se_cover.roundRect(b.xMin+i, b.yMin+i, b.xMax-i, b.yMax-i, blur-(i*2/3));
    }
    trace(this.se_cover);
    this.se_cover.lineStyle();
    this.se_cover.beginFill(color,100)
    this.se_cover.drawRect2(b.xMin-1, b.yMin-1, b.xMax+1, b.yMax+1)
    this.se_cover.roundRect(b.xMin, b.yMin, b.xMax, b.yMax, blur);
    this.se_cover.endFill()
};
MovieClip.prototype.roundRect = function(x1, y1, x2, y2, r) {
    r = Math.min(Math.abs(r), Math.min(Math.abs(x1-x2), Math.abs(y1-y2))/2);
    var f = 0.707106781186548*r;
    var a = 0.588186525863094*r;
    var b = 0.00579432557070009*r;
    var ux = Math.min(x1, x2);
    var uy = Math.min(y1, y2);
    var lx = Math.max(x1, x2);
    var ly = Math.max(y1, y2);
    this.moveTo(ux+r, uy);
    var cx = lx-r;
    var cy = uy+r;
    this.lineTo(cx, uy);
    this.curveTo(lx-a, uy+b, cx+f, cy-f);
    this.curveTo(lx-b, uy+a, lx, uy+r);
    cy = ly-r;
    this.lineTo(lx, cy);
    this.curveTo(lx-b, ly-a, cx+f, cy+f);
    this.curveTo(lx-a, ly-b, lx-r, ly);
    cx = ux+r;
    this.lineTo(cx, ly);
    this.curveTo(ux+a, ly-b, cx-f, cy+f);
    this.curveTo(ux-b, ly-a, ux, ly-r);
    cy = uy+r;
    this.lineTo(ux, cy);
    this.curveTo(ux+b, uy+a, cx-f, cy-f);
    this.curveTo(ux+a, uy+b, ux+r, uy);
};

相关文章推荐

柔化皮肤小工具

  • 2015年09月11日 13:44
  • 302KB
  • 下载

C#柔化方式显示图像_源代码

  • 2011年04月15日 09:27
  • 458KB
  • 下载

黄聪:C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果) (转)

黄聪:C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果) (转) 一、各种旋转、改变大小 注意:先要添加画图相关的using引用。 //向右旋转图像90°代...
  • anlun
  • anlun
  • 2015年02月02日 08:58
  • 989

VB柔化模糊图像的实例

  • 2013年05月16日 00:59
  • 18KB
  • 下载

图像滤镜处理算法:柔化、光照、放大镜、哈哈镜

转载自:http://www.icodelogic.com/?p=588 本文的最后提供了完整的Android工程下载,图像处理部分主要采用JNI,算法使用C实现,因为在开发过程中发...

如何以柔化方式显示图像

  • 2008年06月10日 14:37
  • 352KB
  • 下载

图像特效之朦胧柔化

柔光效果在人像摄影中有广泛的应用 用它可以掩饰人物脸部或皮肤上的某些瑕疵,使人物变得更加光润媚人.在户外,使用柔光镜拍摄,则可使照片充满着神秘、浪漫的色彩。。。   OK,笔者经过一番研究,将此...

颜色.柔化皮肤动作

  • 2013年01月08日 22:07
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AS2边缘柔化类
举报原因:
原因补充:

(最多只允许输入30个字)