小日本的图片处理C#类

    本来想写一个将图片处理成磨砂玻璃的函数,从网上找到一个C#的类,小日本的代码,功能较多,没有注释。处理出来的效果还可以,但不是我想要的
ImageUtils.cs

用这个类写的“磨砂玻璃”效果如下:

代码:
         public   static   bool  FrostedGlass( ref  Bitmap bmp, Rectangle rect,
            
int  alphaPercent,  int  blurZone)
        {
            
if  (bmp.PixelFormat  !=  PixelFormat.Format24bppRgb)
                
return   false ;

            
int  w  =  bmp.Width;
            
int  h  =  bmp.Height;

            Bitmap tmp 
=   new  Bitmap(rect.Width, rect.Height,
                                         PixelFormat.Format24bppRgb);
            Graphics g 
=  Graphics.FromImage(tmp);
            g.DrawImage(bmp, 
0 0 , rect, GraphicsUnit.Pixel);
            g.Dispose();

            ImgUtils.GaussianBlur(
ref  tmp, blurZone);

            Bitmap tmp2 
=  tmp.Clone()  as  Bitmap;
            g 
=  Graphics.FromImage(tmp2);
            g.Clear(Color.FromArgb(
244 244 244 ));
            ImgUtils.JAlphaBlend(g, tmp, (
float )alphaPercent  /  100f,  0 0 );
            g.Dispose();

            tmp.Dispose();

            g 
=  Graphics.FromImage(bmp);
            g.DrawImageUnscaled(tmp2, rect.Left, rect.Top);
            g.Dispose();

            tmp2.Dispose();

            
return   true ;
        }

        
private   void  button1_Click( object  sender, EventArgs e)
        {
            Bitmap bmp 
=   new  Bitmap( @" C:¥Home¥img2¥reika1.png " );

            Graphics g 
=   this .CreateGraphics();
            
// g.DrawImageUnscaled(bmp, 5, 5);

            
if  (FrostedGlass( ref  bmp,  new  Rectangle( 88 50 219 550 ),  50 3 ))
            {
                g.DrawImageUnscaled(bmp, 
5 5 );
                Clipboard.SetImage(bmp);
            }

            g.Dispose();
            bmp.Dispose();
        }


转载于:https://www.cnblogs.com/yuanbao/archive/2007/11/08/953507.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值