C#笔记(JPG转Hex)

  private void button4_Click(object sender, EventArgs e)     

    {

      //-----------------------保存成二进制文件----------------------------------------------------------         

       const String BIN_FILE_NAME = "BinSample.dat";            

       FileStream fs = null;          

       BinaryWriter bw = null;

            // 首先判断,文件是否已经存在            

     if (File.Exists(BIN_FILE_NAME))                

    {          // 如果文件已经存在,那么删除掉.                 

      File.Delete(BIN_FILE_NAME);            

     }                    

    fs = new FileStream(BIN_FILE_NAME, FileMode.Create, FileAccess.Write);           

    bw = new BinaryWriter(fs);       

   //  bw.Write(0xff);

    //---------------------------压缩图片-------------------------------------------------------------------------          

      byte[] buf_temp = new byte[PublicValue.COL * PublicValue.LINE];        

      int length = (PublicValue.COL * PublicValue.LINE) / 8;       

      int temp = 0;        

      byte temp_0, temp_1, temp_2, temp_3, temp_4, temp_5, temp_6, temp_7;     

      byte temp_ss = 0;        

      int num_row = 0, num_line = 0;

      buf_temp[0] = 0x00; buf_temp[1] = 0xff; buf_temp[2] = 0x01; buf_temp[3] = 0x00; //文件头用于拼配通讯协议             

      bw.Write(buf_temp[0]); bw.Write(buf_temp[1]); bw.Write(buf_temp[2]); bw.Write(buf_temp[3]);

      for (temp = 0; temp < length; temp++)             

      {   

          temp_ss = CCD_Image[num_row, num_line];           

          if (255 == temp_ss) { temp_7 = 0x00; } else { temp_7 = 0x80; } num_line++; temp_ss = CCD_Image[num_row, num_line];             

          if (255 == temp_ss) { temp_6 = 0x00; } else { temp_6 = 0x40; } num_line++; temp_ss = CCD_Image[num_row, num_line];     

          if (255 == temp_ss) { temp_5 = 0x00; } else { temp_5 = 0x20; } num_line++; temp_ss = CCD_Image[num_row, num_line];

          if (255 == temp_ss) { temp_4 = 0x00; } else { temp_4 = 0x10; } num_line++; temp_ss = CCD_Image[num_row, num_line];

          if (255 == temp_ss) { temp_3 = 0x00; } else { temp_3 = 0x08; } num_line++; temp_ss = CCD_Image[num_row, num_line];

          if (255 == temp_ss) { temp_2 = 0x00; } else { temp_2 = 0x04; } num_line++; temp_ss = CCD_Image[num_row, num_line];

          if (255 == temp_ss) { temp_1 = 0x00; } else { temp_1 = 0x02; } num_line++; temp_ss = CCD_Image[num_row, num_line];

          if (255 == temp_ss) { temp_0 = 0x00; } else { temp_0 = 0x01; } num_line++;

          if (num_line >= PublicValue.COL) { num_line = 0; num_row++; }

          buf_temp[temp] = (byte)(temp_7 | temp_6 | temp_5 | temp_4 | temp_3 | temp_2 | temp_1 | temp_0);                             

        //  bw.Write(buf_temp[temp].ToString());           

          bw.Write(buf_temp[temp]);

      }  //---------------------------------------------------------------------------------------------------------------------

    // 关闭文件.    

       bw.Close();          

       fs.Close();

       bw = null;    

       fs = null;           

        }

posted @ 2015-12-28 15:28  小清奈  阅读(597)  评论(0编辑  收藏  举报