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();
? ? ? ? ? ? }
? ? ? ? }
|