C#画像をbyte[]に変換データベースへのアクセス
7154 ワード
1.データベースへの書き込み:
2.実際の場所の写真をbyte[]タイプに変換してデータベースに書き込みます.
3.byte[]を読み込み、画像に変換する:
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; }