我的aspx页面中有一个syncfusion chartwebcontrol,我需要将图表保存到二进制列中的数据库中。我不确定如何将syncfuion控件的图像转换为字节形式。
答案 0 :(得分:0)
您可以使用ChartWebControl
方法将Image
保存为SaveImage
,然后使用Stream
概念将此图像转换为二进制数据,并将此二进制数据保存在数据库中。您可以使用File Stream
类将图表图像转换为二进制。
请参阅以下代码段
[C#]
this.ChartWebControl1.SaveImage(Server.MapPath("Chart.png"));
byte[] buffer = ImageToBinary(Server.MapPath("Chart.png"));
//Insert the above buffer data to db for chart image binary data
--------------------------------
public static byte[] ImageToBinary(string imagePath)
{
FileStream fileStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[fileStream.Length];
fileStream.Read(buffer, 0, (int)fileStream.Length);
fileStream.Close();
return buffer;
}
您可以将二进制数据转换回图像,请参阅下面的代码段。
[C#]
public static Image BinaryToImage(System.Data.Linq.Binary binaryData)
{
if (binaryData == null) return null;
byte[] buffer = binaryData.ToArray();
MemoryStream memStream = new MemoryStream();
memStream.Write(buffer, 0, buffer.Length);
return Image.FromStream(memStream);
}