zoukankan      html  css  js  c++  java
  • Asp.net 使用GDI+实现alpha透明效果

    使用alpha的最简单的效果.

     private void button1_Click(object sender, EventArgs e)
            {
                
    this.Refresh();

                Color startColor 
    = System.Drawing.ColorTranslator.FromHtml(this.textBox1.Text.ToLower());
                
    int alphaColor = 255;


                
    //获取起始颜色的三色
                  float redColor = startColor.R;
                
    float greenColor = startColor.G;
                
    float blueColor = startColor.B;

                
    //下面创建bitmap开始画图
                 Bitmap bm = new Bitmap(100100);
                
    for (int i = 0; i <100; i++)
                {

                    
    if (alphaColor > 255)
                    {
                        alphaColor 
    = 255;
                    }

                    
    for (int j = 0; j < 100; j++)
                    {
                        
    //通过设置每个像素点的值画图
                        bm.SetPixel(j, i, Color.FromArgb(alphaColor,(int)redColor, (int)greenColor, (int)blueColor));
                    }

                    alphaColor 
    = alphaColor - 2;
                    
                }
                
    //在窗体上显示,预览
                Graphics g = this.CreateGraphics();
                g.DrawImage(bm, 
    10150);
                bm.Dispose();
                g.Dispose();
            }


    修改下代码:

    private void button1_Click(object sender, EventArgs e)
            {
                
    this.Refresh();

                Color startColor 
    = System.Drawing.ColorTranslator.FromHtml(this.textBox1.Text.ToLower());
                
    int alphaColor = 200;


                
    //获取起始颜色的三色
                float redColor = startColor.R;
                
    float greenColor = startColor.G;
                
    float blueColor = startColor.B;

                
    //下面创建bitmap开始画图
                Bitmap bm = new Bitmap(100100);
                
    for (int i = 99; i > 0; i--)
                {

                    
    if (alphaColor > 255)
                    {
                        alphaColor 
    = 255;
                    }

                    
    for (int j = 0; j < 100; j++)
                    {
                        
    //通过设置每个像素点的值画图
                        bm.SetPixel(j, i, Color.FromArgb(alphaColor,(int)redColor, (int)greenColor, (int)blueColor));
                    }

                    
    if ( i < 55)
                    {
                        alphaColor 
    = alphaColor - 3;
                    }
                    
                }
                
    //在窗体上显示,预览
                Graphics g = this.CreateGraphics();
                g.DrawImage(bm, 
    10150);
                bm.Save(
    "c:/"+DateTime.Now.ToString("yyyymmddhhmmssfff")+".gif");
                bm.Dispose();
                g.Dispose();
            }
  • 相关阅读:
    设计模式-适配器模式
    设计模式-模板方法模式
    设计模式-策略模式
    spring-消息
    spring-集成redis
    spring-mvc高级技术
    spring-AOP
    restful规范
    十一,装饰器详解
    十,函数对象,嵌套,名称空间与作用域,闭包函数
  • 原文地址:https://www.cnblogs.com/leeolevis/p/1383148.html
Copyright © 2011-2022 走看看