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();
            }
  • 相关阅读:
    [转]Angular2-组件间数据传递的两种方式
    [转]Angular4---部署---将Angular项目部署到IIS上
    [转]Angular开发(十八)-路由的基本认识
    [转]【Angular4】基础(一):脚手架 Angular CLI
    [转]【Angular4】基础(二):创建组件 Component
    [转]Angular项目目录结构详解
    [转]Ionic国际化解决方案
    [转]Angular CLI 安装和使用
    [转]nodejs之cordova 跨平台开发
    [转]Windows下配置Node.js和Cordova
  • 原文地址:https://www.cnblogs.com/leeolevis/p/1383148.html
Copyright © 2011-2022 走看看