zoukankan      html  css  js  c++  java
  • 小日本的图片处理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, 
    00, rect, GraphicsUnit.Pixel);
                g.Dispose();

                ImgUtils.GaussianBlur(
    ref tmp, blurZone);

                Bitmap tmp2 
    = tmp.Clone() as Bitmap;
                g 
    = Graphics.FromImage(tmp2);
                g.Clear(Color.FromArgb(
    244244244));
                ImgUtils.JAlphaBlend(g, tmp, (
    float)alphaPercent / 100f, 00);
                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(8850219550), 503))
                {
                    g.DrawImageUnscaled(bmp, 
    55);
                    Clipboard.SetImage(bmp);
                }

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


  • 相关阅读:
    记录一个Heisenbug!
    MATLAB(一):矩阵基本操作
    MATLAB基础(三):MATLAB基本运算与字符串处理
    MATLAB基础(二):变量与矩阵
    MATLAB基础(一):简介及数值数据特点与常用数学函数
    用位运算实现四则运算
    指针:C语言二级指针与二维数组
    单片机基础(八):单片机串行口结构与工作方式及应用
    单片机基础(七):串行通信概念及其工作原理
    单片机基础(六):单片机定时/控制器的控制接口
  • 原文地址:https://www.cnblogs.com/yuanbao/p/953507.html
Copyright © 2011-2022 走看看