void DrawingImageInsertDatabase()
{
//创建位图变量
Bitmap image = new Bitmap(this.Width, this.Height);
//创建画布
Graphics g = Graphics.FromImage(image);
//创建画笔
Pen p = new Pen(Color.Green, 2f);
//绘图
LinearGradientBrush brush = new LinearGradientBrush(new Point(0, 20), new Point(20, 20), Color.Yellow, Color.Blue);
g.FillRectangle(brush, 0, 0, 200, 100);
//将绘图结果保存为图片pic.bmp
image.Save("pic.bmp");
//查看绘图结果,可省略
System.Diagnostics.Process.Start("pic.bmp");
//绘图结果保存到数据库
Insert("myPicture", ConvertImageToByte(Image.FromFile("pic.bmp")));
}
//将图片转换为基元数据
byte[] ConvertImageToByte(Image img)
{
using (MemoryStream ms = new MemoryStream())
{
img.Save(ms, System.Drawing.Imaging.ImageFormat.bmp);
return ms.GetBuffer();
}
}
//绘图结果保存到数据库
void Insert(string fileName, byte[] image)
{
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings[0].ConnectionString))
{
if (cn.State == ConnectionState.Closed) cn.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO image(fileName,image) values(@fileName,@image)", cn);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@fileName", fileName);
cmd.Parameters.AddWithValue("@image", image);//SqlServer中Image为Image或varbinary(MAX)数据类型
cmd.ExecuteNonQuery();
}
}



