请问哪位在WEBSNAP下用过TeeChart????????????????????? 我想请教这方面的技术,如果有请留字,另外开贴给分! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个双休日正好试了一下在WebSnap中生成TeeChart图表,最终可以在网页中显示图表,当然还有一点小问题没解决,稍后再说。 先说一说利用TeeChart组件生成图表的原理: 1、通过程序生成一个FChart对象; 2、通过Chart对象的TeeCreateBitmap函数生成BMP图片,再把BMP图片转化为JPEG图片,把JPEG图片生成为Stream流; 3、在Adapter的AdapterImageField字段的OnGetImage事件中把生成的流赋给Image。 代码如下: 1: FForm := TForm.CreateNew(nil); FForm.SetBounds(0, 0, 10, 10); FChart := CreateChart(self); FChart.Parent := FForm; 注意:一定要给FChart的Parent赋值,不然不能生成图片。 2:第二步可以做成一个函数:function TPageProducerPage3.GetChartJPEGStream: TMemoryStream;var jpeg: TJPEGImage; bmp: TBitmap;begin Result := TMemoryStream.Create; jpeg := TJPEGImage.Create; try bmp := Chart.TeeCreateBitmap(clDefault, Chart.GetRectangle); try jpeg.Assign(bmp); jpeg.SaveToStream(result); finally bmp.Free; end; finally jpeg.Free; end;end; 3:AdapterImageField字段的OnGetImage事件如下: procedure TPageProducerPage3.AdapterImageField1GetImage(Sender: TObject; Params: TStrings; var MimeType: String; var Image: TStream; var Owned: Boolean);begin Image := GetChartJPEGStream;end; 一点问题: 当FChart对象被释放时,出现异常"Invalid window handle",释放代码如下: FChart.Free; FChart := nil; FForm.Free; FForm := nil; 希望有哪位能够解决。 怎么在其他pas文件中修改form1的控件属性? 用SQL做时间比较,急急 我靠,庆祝一下,上个月我得专家分Delphi版排名第二,大家来捧场呀,祝福我吧 !!! IntraWeb编写的程序怎么运行??高分,OnLine Wait!!! 请教如何开发手机短信 怎样通过程序就能够知道指定的ip地址能否ping通 怎样实现网络的点到点的通讯??请高手帮忙解决!! idglobal是那里的文件啊? delphi如何编写modem 急救...请大侠们急诊... 请问如何实现在一张图片上显示字串(Label 好像不行) 关于 sql server2000 做数据库
1、通过程序生成一个FChart对象;
2、通过Chart对象的TeeCreateBitmap函数生成BMP图片,再把BMP图片转化为JPEG图片,把JPEG图片生成为Stream流;
3、在Adapter的AdapterImageField字段的OnGetImage事件中把生成的流赋给Image。 代码如下:
1:
FForm := TForm.CreateNew(nil);
FForm.SetBounds(0, 0, 10, 10);
FChart := CreateChart(self);
FChart.Parent := FForm;
注意:一定要给FChart的Parent赋值,不然不能生成图片。 2:第二步可以做成一个函数:
function TPageProducerPage3.GetChartJPEGStream: TMemoryStream;
var
jpeg: TJPEGImage;
bmp: TBitmap;
begin
Result := TMemoryStream.Create;
jpeg := TJPEGImage.Create;
try
bmp := Chart.TeeCreateBitmap(clDefault, Chart.GetRectangle);
try
jpeg.Assign(bmp);
jpeg.SaveToStream(result);
finally
bmp.Free;
end;
finally
jpeg.Free;
end;
end; 3:AdapterImageField字段的OnGetImage事件如下:
procedure TPageProducerPage3.AdapterImageField1GetImage(Sender: TObject;
Params: TStrings; var MimeType: String; var Image: TStream;
var Owned: Boolean);
begin
Image := GetChartJPEGStream;
end; 一点问题:
当FChart对象被释放时,出现异常"Invalid window handle",释放代码如下:
FChart.Free;
FChart := nil;
FForm.Free;
FForm := nil;
希望有哪位能够解决。