C#画像をbyte[]に変換データベースへのアクセス

7154 ワード

1.データベースへの書き込み:
 

   
   
   
   
public static byte [] GetBytesByImage(PictureBox pb) { byte [] photo_byte = null ; if ( ! pb.Image.Equals( null )) { using (MemoryStream ms = new MemoryStream()) { Bitmap bmp = new Bitmap(pb.Image); bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); photo_byte = new byte [ms.Length]; ms.Position = 0 ; ms.Read(photo_byte, 0 , Convert.ToInt32(ms.Length)); bmp.Dispose(); } } return photo_byte; }

2.実際の場所の写真をbyte[]タイプに変換してデータベースに書き込みます.
 
 

   
   
   
   
public static byte [] GetBytesByImagePath( string strFile) { byte [] photo_byte = null ; using (FileStream fs = new FileStream(strFile, FileMode.Open, FileAccess.Read)) { using (BinaryReader br = new BinaryReader(fs)) { photo_byte = br.ReadBytes(( int )fs.Length); } } return photo_byte; }

3.byte[]を読み込み、画像に変換する:
 
 

   
   
   
   
public static Image GetImageByBytes( byte [] bytes) { Image photo = null ; using (MemoryStream ms = new MemoryStream(bytes)) { ms.Write(bytes, 0 , bytes.Length); photo = Image.FromStream(ms, true ); } return photo; }