天天看點

使用ASP.NET動态生成圖檔

使用ASP.NET動态生成圖檔

using System;

使用ASP.NET動态生成圖檔

using System.Collections;

使用ASP.NET動态生成圖檔

using System.ComponentModel;

使用ASP.NET動态生成圖檔

using System.Data;

使用ASP.NET動态生成圖檔

using System.Drawing;

使用ASP.NET動态生成圖檔

using System.Drawing.Imaging;

使用ASP.NET動态生成圖檔

using System.Web;

使用ASP.NET動态生成圖檔

using System.Web.SessionState;

使用ASP.NET動态生成圖檔

using System.Web.UI;

使用ASP.NET動态生成圖檔

using System.Web.UI.WebControls;

使用ASP.NET動态生成圖檔

using System.Web.UI.HtmlControls;

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

namespace Birdshome

使用ASP.NET動态生成圖檔

{

使用ASP.NET動态生成圖檔

    /// <summary>

使用ASP.NET動态生成圖檔

    /// Summary description for _Default.

使用ASP.NET動态生成圖檔

    /// </summary>

使用ASP.NET動态生成圖檔

    public class _Default : System.Web.UI.Page

使用ASP.NET動态生成圖檔

    {

使用ASP.NET動态生成圖檔

        int m_Unit = 3;

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

        private void Page_Load(object sender, System.EventArgs e)

使用ASP.NET動态生成圖檔

        {

使用ASP.NET動态生成圖檔

            // Put user code to initialize the page here

使用ASP.NET動态生成圖檔

            int counter_width = 32/8;

使用ASP.NET動态生成圖檔

            int counter_height =16;

使用ASP.NET動态生成圖檔

            Bitmap bmp = new Bitmap(counter_width*m_Unit*8, counter_height*m_Unit);

使用ASP.NET動态生成圖檔

            GenerateBitmap(bmp);

使用ASP.NET動态生成圖檔

            Response.Clear();

使用ASP.NET動态生成圖檔

            Response.ContentType = "image/jpeg";

使用ASP.NET動态生成圖檔

               bmp.Save(Response.OutputStream, ImageFormat.Jpeg);

使用ASP.NET動态生成圖檔

        }

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

        Web Form Designer generated code

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

        private void GenerateBitmap(Bitmap bmp)

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

            //#define counter_width 32

使用ASP.NET動态生成圖檔

            //#define counter_height 16

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

            byte [] counter_bits = new byte[]

使用ASP.NET動态生成圖檔

            {

使用ASP.NET動态生成圖檔

                0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00, 

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

                0x3E, 0x1C, 0x7F, 0x7F,  0x63, 0x06, 0x03, 0x03, 

使用ASP.NET動态生成圖檔

                0x60, 0x03, 0x03, 0x03,  0x60, 0x03, 0x03, 0x03, 

使用ASP.NET動态生成圖檔

                0x3C, 0x3F, 0x3F, 0x3F,  0x60, 0x63, 0x60, 0x60, 

使用ASP.NET動态生成圖檔

                0x60, 0x63, 0x60, 0x60,  0x60, 0x63, 0x60, 0x60, 

使用ASP.NET動态生成圖檔

                0x63, 0x63, 0x63, 0x63,  0x3E, 0x3E, 0x3E, 0x3E

使用ASP.NET動态生成圖檔

            };

使用ASP.NET動态生成圖檔

            Graphics g = Graphics.FromImage(bmp);

使用ASP.NET動态生成圖檔

            for( int i=0 ; i < counter_height ; i++ )

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

                for( int j=0 ; j < counter_width ; j++ )

使用ASP.NET動态生成圖檔

                {

使用ASP.NET動态生成圖檔

                    byte by = counter_bits[counter_width*i+j];

使用ASP.NET動态生成圖檔

                    for( int k=0 ; k < 8 ; k++ )

使用ASP.NET動态生成圖檔

                    {

使用ASP.NET動态生成圖檔

                        byte bit = 0;

使用ASP.NET動态生成圖檔

                        bit = (byte)(by & 0x01);

使用ASP.NET動态生成圖檔

                        Rectangle rect = new Rectangle(k*m_Unit+j*8*m_Unit, i*m_Unit, m_Unit, m_Unit);

使用ASP.NET動态生成圖檔

                        Brush brush;

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

                        if( bit == 0x01 )

使用ASP.NET動态生成圖檔

                        {

使用ASP.NET動态生成圖檔

                            brush = Brushes.Yellow;

使用ASP.NET動态生成圖檔

                        }

使用ASP.NET動态生成圖檔

                        else

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

                            brush = Brushes.Blue;

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

                        g.FillRectangle(brush, rect);

使用ASP.NET動态生成圖檔

                        by = (byte)(by >> 1);

使用ASP.NET動态生成圖檔

                    }

使用ASP.NET動态生成圖檔

                }

使用ASP.NET動态生成圖檔

            }

使用ASP.NET動态生成圖檔
使用ASP.NET動态生成圖檔

    }

使用ASP.NET動态生成圖檔

}

使用ASP.NET動态生成圖檔

本文轉自部落格園鳥食軒的部落格,原文連結:http://www.cnblogs.com/birdshome/,如需轉載請自行聯系原部落客。

繼續閱讀