• 设置图片边缘半透明


            直接上源码

            注:碰到的问题是画刷会以整个图形的最左侧为基础,不是以Rectangle为基础的

            /// <summary>
            /// 设置图片边缘透明
            /// </summary>
            /// <param name="oriBitmap">图片</param>       
            /// <returns></returns>
            public Bitmap SetBitmapLeftEdgeTransparent(Bitmap oriBitmap, Color backColor)
            {
                //渐变范围
                int gradientRange = oriBitmap.Width / 5;
                //建立图像对象
                Bitmap newBitmap = new Bitmap(oriBitmap.Width, oriBitmap.Height);
                Graphics graphics = Graphics.FromImage(newBitmap);           
                graphics.DrawImage(oriBitmap, new Rectangle(0, 0, oriBitmap.Width, oriBitmap.Height));

                //将后边部分200范围内 设置透明渐变
                Bitmap gradientBitmap = new Bitmap(gradientRange, newBitmap.Height);
                Graphics gradientGraphics = Graphics.FromImage(gradientBitmap);
                gradientGraphics.DrawImage(oriBitmap, 0, 0, new RectangleF(newBitmap.Width - gradientRange, 0, gradientRange, newBitmap.Height), GraphicsUnit.Pixel);
                Rectangle rect = new Rectangle(0, 0, gradientRange, newBitmap.Height);
                LinearGradientBrush lineBrush = new LinearGradientBrush(rect, Color.FromArgb(0, backColor.R, backColor.G, backColor.B), backColor, (float)0);           
                gradientGraphics.FillRectangle(lineBrush, rect);
                gradientGraphics.Dispose();
                //将渐变内容放置回来
                graphics.DrawImage(gradientBitmap, newBitmap.Width - gradientRange, 0);           
                graphics.Dispose();           
                return newBitmap;
            }

  • 相关阅读:
    Spring MVC中的(多)文件上传和下载
    SSM整合案例
    事务的四种隔离级别和七种传播行为
    注解方式实现IOC和AOP
    顾问包装通知
    使用ProxyFactoryBean进行AOP
    动态代理(jdk&cglib)的用法
    英语中12个典型的中国式错误
    翻译:你的声音太小了,可以大一些吗
    今天天气怎么样
  • 原文地址:https://www.cnblogs.com/jason_chen/p/5611348.html
Copyright © 2020-2023  润新知