急!pictureBox显示图片,保存到数据库,从数据库读取后再用pictureBox显示,图片质量下降。
1.把图片转成字节数字存储到数据库。
MemoryStream ms = new MemoryStream();
              this.zp.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
              Byte[] bytes = ms.ToArray();
              ms.Dispose();
              ms.Close();
              props.AddProperty("YYZ_ZP", bytes);
2.从数据库读取时,先读取字节数据,然后转成图片。
Byte[] zp = reader.GetBytes(6);
                 MemoryStream ms = new MemoryStream(zp);
                 try
                 {
                     zpjl.zp = Image.FromStream(ms);
                 }
                 catch (Exception exc)
                 {
                     MessageBox.Show("读取照片出错!" + exc.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     ms.Dispose();
                     ms.Close();
                     reader.Close();
                     return zpjlList;
                 }
                 ms.Dispose();
                 ms.Close();
3.保存时图片大小会变小。
一个757KB的图片,转成字节数组保存后,再转成图片,大小为158KB。
4.图片格式为jpg。
5.第一个图片为原始图片。
6.第二个图片为保存到数据库,再生成的图片。
敬请高手指教!!!!!!
------解决方案--------------------
System.Drawing.Imaging.ImageFormat.Gif
  this.zp.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
这句话应该是失真了
改成Bmp或者Jpeg应该好些