日期:2014-05-20  浏览次数:20841 次

急!!!图片转换为十六进制的问题
贴代码(两个方法)
  ///将Image对象转化成二进制流///
  ///</summary>
  ///<paramname="image"></param>
  ///<returns></returns>
  public byte [] ImageToByteArray(Image image)
  {
  //实例化流
  System.IO.MemoryStream imageStream = new System.IO.MemoryStream();
  //将图片的实例保存到流中
  image.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);
  //return imageStream;
  //保存流的二进制数组
  byte[] imageContent = new Byte[imageStream.Length];
  imageStream.Position = 0;
  //将流泻如数组中
  imageStream.Read(imageContent, 0, (int)imageStream.Length);
  return imageStream .ToArray ();
  }


  private string Changeto16(Image image)
  {
   
  StringBuilder tempStr =new StringBuilder ();
  byte [] mybytes = ImageToByteArray(image);
  for (int i = 0; i < mybytes.Length; i++)
  {
  // Convert.ToInt32("dfdf",2);

  tempStr.Append(Convert.ToString(mybytes[i], 16));
  }
  return tempStr.ToString().ToUpper();  
  }


我是把我等比例缩放处理过的图片image对象转换为十六进制,数据是出来了,但是把tempStr.ToString().ToUpper();的数据还原为图片就说它不是图片了。求解啊。。。谢谢大家。

------解决方案--------------------
是啊,肯定不是图片了,是字符串了。