我在写一个程序,C#2.0,想通过DrawImage绘图生成的图片文件以二进制格式输出,后缀名为.bin,请高手给点思路,谢谢!

解决方案 »

  1.   

    图片的数据是怎么存储的?可以用BinaryWriter类来操作试试直接将数据以二进制的方式写入文件
      

  2.   

    可以把Image对象里面的BitMap提出来 生成byte[] 然后就喜欢怎么就怎么搞吧
    加载的时候可以Image.FromStream
    很强大
      

  3.   

    我的代码如下,请高手具体指点一下private void MakeImageFile(string iname ,string family_num,string cell_num,string office_num,string sht_num,string fax_num,string uimg,string bg)
            {
                string name = iname;
                string familyn = family_num;
                string celln = cell_num;
                string officen = office_num;
                string shtn = sht_num;
                string faxn = fax_num;
                string uimgpath = uimg;
                string bgimg = bg;            string ext_First = ".card";
                string ext_Second = ".tel";
                string[] filenames = { familyn, celln, officen, shtn, faxn };
                bool isFirst = true;            string imgpath = Application.StartupPath;
                string bg_img = imgpath + "\\BgImages\\" + bgimg;
                Font drawFontName = new Font("宋体", 20);
                Font drawFont = new Font("Arial Black", 20);
                SolidBrush drawBrush = new SolidBrush(Color.DarkBlue);
                
                if (System.IO.File.Exists(bg_img) && System.IO.File.Exists(uimgpath))
                {
                    Image bmp = Image.FromFile(bg_img);
                    Image userimg = Image.FromFile(uimgpath);
                    Graphics g = Graphics.FromImage(bmp);
                    g.DrawImage(userimg, 220, 5, 95, 103);
                    g.DrawString(name, drawFontName, drawBrush, 5, 5);
                    g.DrawString(familyn, drawFont, drawBrush, 5, 40);
                    g.DrawString(celln, drawFont, drawBrush, 5, 75);
                    g.DrawString(officen, drawFont, drawBrush, 5, 115);
                    g.DrawString(shtn, drawFont, drawBrush, 5, 150);
                    g.DrawString(faxn, drawFont, drawBrush, 5, 185);                for (int i = 0; i < 5; i++)
                    {
                        string fname = filenames[i];
                        string filename = "0";                    if (fname != "")
                        {
                            if (isFirst)
                            {
                                if (fname.Length >= 8)
                                {
                                    filename = fname.Substring(fname.Length - 8, 8) + ext_First;
                                }
                                else
                                {
                                    filename = fname + ext_First;
                                }
                            }
                            else
                            {
                                if (fname.Length >= 8)
                                {
                                    filename = fname.Substring(fname.Length - 8, 8) + ext_Second;
                                }
                                else
                                {
                                    filename = fname + ext_Second;
                                }
                            }
                            string newImg = imgpath + "\\Images\\" + filename;
                            bmp.Save(newImg);
                            isFirst = false;
                        }
                    }
                    bmp.Dispose();
                    userimg.Dispose();
                    g.Dispose();
                }
            }
      

  4.   

    把图片读入type数组里!!然后以.bin为扩展名保存就行!!
      

  5.   

    我这样生成的文件可以直接预览图片,而用Image2Lcd转换后的bin文件不能直接预览,无法显示呢?
    请问该如何实现?
      

  6.   


    你保存的bin文件系统不认识,比如bmp这种通用的图片文件格式,都是有默认打开方式的