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();
            }
  • 相关阅读:
    小兔生仔和汽水换瓶的两个算法
    dpi 编程
    作者赠送的《我的第一本c++书》收到啦
    什么是程序员的优良品质
    如何把事情做对?
    学习应有的态度
    魔方数算法
    我的第二本c++教科书
    如何处理人际关系
    电动玩具的开发思路
  • 原文地址:https://www.cnblogs.com/leeolevis/p/1383148.html
Copyright © 2011-2022 走看看