一个BMP位图生成的代码,我现在根据切分得到了位图的数据,但根据网上的代码显示为乱码,现在想请各位帮助转换一下,图片应该是一个车牌图片,谢谢,我已经把二进制的数据传到网上了
http://www.vdisk.cn/down/index/3649175A7540
位图大小为136*35,谢谢
请各位高手帮忙啊,我搞了2天了都没搞定

解决方案 »

  1.   

    Page.Response.ContentEncoding   =   Encoding.Default;   
      Page.Response.ContentType   =   "image/jpeg";
      

  2.   


    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Web.SessionState;
    using System.Drawing.Drawing2D;
    using System.Drawing.Text;
    using System.Drawing.Imaging;
    using System.Drawing;
    //上面要加上必要的引用
     protected void Page_Load(object sender, EventArgs e)
            {
                // 在此处放置用户代码以初始化页面            Bitmap bm = new Bitmap(40, 15, PixelFormat.Format32bppArgb);
                Graphics g = Graphics.FromImage(bm);
                g.Clear(Color.FromArgb(14, 42, 142));
                Font f1 = new Font("Arial", 12);
                SolidBrush brush = new SolidBrush(Color.White);
                g.DrawString("我爱", f1, brush, 0, 0);            bm.Save(Response.OutputStream, ImageFormat.Jpeg);
                brush.Dispose();
                f1.Dispose();
                g.Dispose();
                Response.End();
            }中文没有发现乱码..
      

  3.   

    晕,都没看懂意思,我的意思是说这是一个位图数据文件,但是缺少头文件,调色板等等数据,需要组合成一个完整的BMP
      

  4.   

                FileStream fs = new FileStream("f:\\bmp.txt", FileMode.Open);
                Bitmap bitmap = new Bitmap(136, 35);
                System.Drawing.Imaging.BitmapData data = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
                     System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppRgb);
                byte[] bits = new byte[fs.Length];
                fs.Read(bits, 0, (int)fs.Length);
                System.Runtime.InteropServices.Marshal.Copy(bits, 0, data.Scan0, (int)fs.Length);
                bitmap.UnlockBits(data);
                using (Graphics g = CreateGraphics())
                {
                    g.DrawImage(bitmap, 0, 0);
                }
                fs.Close();执行到 Copy 那一句报错, 不知道是不是你的文件宽度和高度不对的原因如果将 Bitmap bitmap = new Bitmap(136, 35); 这一句的宽度和高度改大一些,则可以正常执行, 只是图片只能显示一部分