• 小日本的图片处理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();
            }


  • 相关阅读:
    Python学习杂记_2_格式化字符串的一些操作
    Python学习杂记_1_PyCharm使用的一些收获
    autolayout sizeclass 资料集锦
    据说这个是获得当前的控制器方法,没试过
    Mac下搭建php开发环境【转】
    搜索栏会消失 uisearchbar 狂点消失的问题解决
    mac下XAMPP服务器配置多站点配置局域网配置 (转)
    在 Xcode 6 中使用矢量图( iPhone 6 置配 UI)
    收到远程通知,怎么区分是点击通知栏提醒进去的还是在foreground收到的通知?
    开发经验之状态机思想,分别使用了swift,OC,C,PHP语言实现
  • 原文地址:https://www.cnblogs.com/yuanbao/p/953507.html
Copyright © 2020-2023  润新知