使用ASP.NET动态生成图片

简介:



using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Birdshome
{
     ///   <summary>
    
///  Summary description for _Default.
    
///   </summary>
     public  class _Default : System.Web.UI.Page
    {
         int m_Unit = 3;

         private  void Page_Load( object sender, System.EventArgs e)
        {
             //  Put user code to initialize the page here
             int counter_width = 32/8;
             int counter_height =16;
            Bitmap bmp =  new Bitmap(counter_width*m_Unit*8, counter_height*m_Unit);
            GenerateBitmap(bmp);
            Response.Clear();
            Response.ContentType = "image/jpeg";
               bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
        }

         Web Form Designer generated code

         private  void GenerateBitmap(Bitmap bmp)
        {
             // #define counter_width 32
            
// #define counter_height 16
             int counter_width = 32/8;
             int counter_height =16;
             byte [] counter_bits =  new  byte[]
            {
                0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00, 
                0x3E, 0x1C, 0x7F, 0x7F,  0x63, 0x06, 0x03, 0x03, 
                0x60, 0x03, 0x03, 0x03,  0x60, 0x03, 0x03, 0x03, 
                0x3C, 0x3F, 0x3F, 0x3F,  0x60, 0x63, 0x60, 0x60, 
                0x60, 0x63, 0x60, 0x60,  0x60, 0x63, 0x60, 0x60, 
                0x63, 0x63, 0x63, 0x63,  0x3E, 0x3E, 0x3E, 0x3E
            };
            Graphics g = Graphics.FromImage(bmp);
             forint i=0 ; i < counter_height ; i++ )
            {
                 forint j=0 ; j < counter_width ; j++ )
                {
                     byte by = counter_bits[counter_width*i+j];
                     forint k=0 ; k < 8 ; k++ )
                    {
                         byte bit = 0;
                        bit = ( byte)(by & 0x01);
                        Rectangle rect =  new Rectangle(k*m_Unit+j*8*m_Unit, i*m_Unit, m_Unit, m_Unit);
                        Brush brush;

                         if( bit == 0x01 )
                        {
                            brush = Brushes.Yellow;
                        }
                         else
                        {
                            brush = Brushes.Blue;
                        }
                        g.FillRectangle(brush, rect);
                        by = ( byte)(by >> 1);
                    }
                }
            }
        }
    }
}

本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。

目录
相关文章
|
6月前
|
数据安全/隐私保护
.net给图片增加水印和生成图片缩略图
.net给图片增加水印和生成图片缩略图
65 0
|
开发框架 前端开发 .NET
ASP.NET MVC增删改查带图片路径读取
ASP.NET MVC增删改查带图片路径读取
187 0
ASP.NET MVC增删改查带图片路径读取
|
开发框架 前端开发 JavaScript
ASP.NET MVC使用Layui选择多图片上传
ASP.NET MVC使用Layui选择多图片上传
331 0
ASP.NET MVC使用Layui选择多图片上传
|
开发框架 移动开发 前端开发
ASP.NET MVC中使用jQuery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径
ASP.NET MVC中使用jQuery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径
290 0
|
Web App开发 存储 NoSQL
Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程
Asp.Net Core Web Api图片上传及MongoDB存储实例教程(一) 图片或者文件上传相信大家在开发中应该都会用到吧,有的时候还要对图片生成缩略图。那么如何在Asp.Net Core Web Api实现图片上传存储以及生成缩略图呢?今天我就使用MongoDB作为图片存储,然后使用SixLabors作为图片处理,通过一个Asp.
1417 0