Всем привет.
Юзаю Visual Studio 2003. Использую набор COM компонентов Office Web Componet версии 11 для рисования графика.
Создал обект objChart класса OWC.WCChart
ChartSpace objCSpace = new ChartSpaceClass ();
OWC.WCChart objChart = objCSpace.Charts.Add (0);
после того, как наполнил его данными, хочу нарисовать рисунок
Response.ContentType= "image/gif";
Response.BinaryWrite((byte[])(objCSpace.ExportPicture("test","gif",500,400)));
Response.End();
однако студия выдает: "Cannot convert type 'void' to 'byte[]'" на второй строчке.
Кусок кода взял из примера
http://www.csharphelp.com/archives4/archive623.html
там правда использовался метод GetPicture с параметрами ("gif",500,400), но у меня в классе его не оказалось, зато есть ExportPicture
Подскажите плз чем можно сконвертить!
Здравствуйте, I_lich, Вы писали:
I_>Всем привет.
I_>Юзаю Visual Studio 2003. Использую набор COM компонентов Office Web Componet версии 11 для рисования графика.
I_>Создал обект objChart класса OWC.WCChart
I_>I_>ChartSpace objCSpace = new ChartSpaceClass ();
I_>OWC.WCChart objChart = objCSpace.Charts.Add (0);
I_>
I_>после того, как наполнил его данными, хочу нарисовать рисунок
I_>I_>Response.ContentType= "image/gif";
I_>Response.BinaryWrite((byte[])(objCSpace.ExportPicture("test","gif",500,400)));
I_>Response.End();
I_>
I_>однако студия выдает: "Cannot convert type 'void' to 'byte[]'" на второй строчке.
I_>Кусок кода взял из примера
I_>http://www.csharphelp.com/archives4/archive623.html
I_>там правда использовался метод GetPicture с параметрами ("gif",500,400), но у меня в классе его не оказалось, зато есть ExportPicture
I_>Подскажите плз чем можно сконвертить!
Если функция говорит, что она возвращает void, то это значит, что она ничего не возвращает

, то есть конвертить полученную пустоту к byte[] бессмысленно. Как минимум, имеет смысл поискать что-нибудь, что возвращает byte[] и посмотреть, что это что-нибудь делает.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Здравствуйте, I_lich, Вы писали:
I_>I_>Response.ContentType= "image/gif";
I_>Response.BinaryWrite((byte[])(objCSpace.ExportPicture("test","gif",500,400)));
I_>Response.End();
I_>
MSDN:
ExportPicture Method
Saves the specified chart workspace or PivotTable list as a graphics file.
Этот метод экспортит картинку в файл на диске — прихранивай его где-нибудь а потом копируй в Response.OutputStream:
// save file
objCSpace.ExportPicture(fileName,"gif",500,400)
FileInfo fileInfo = new FileInfo(fileName);
if (!fileInfo.Exists)
return;
String shortFileName = fileInfo.Name;
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AppendHeader("content-disposition", String.Format("attachment; filename={0:s};", shortFileName));
FileStream f = new FileStream(fileInfo.FullName, FileMode.Open, FileAccess.Read);
Byte[] buffer = new Byte[1024];
int readed = 0;
while ((readed = f.Read(buffer, 0, 1024)) > 0)
context.Response.OutputStream.Write(buffer, 0, readed);
context.Response.End();
... << RSDN@Home 1.2.0 alpha rev. 746>>