显示在Rave中在内存中创建的位图

时间:2010-01-16 11:36:13

标签: delphi memory bitmap delphi-7 report

我在内存中创建了一个位图,并希望在好的报表设计时间中显示它。我不想创建一个文件然后加载。还有更好的方法吗?

谢谢和问候, JAI

2 个答案:

答案 0 :(得分:0)

这是我前一段时间为学校项目编写的代码片段。我认为我在其中进行了相当多的研究而无法找到另一种方式......我认为代码很清楚,看看我是如何做到的:使用剪贴板。 cMohr是TChart组件。

我现在没有安装Delphi,所以我无法测试它,但它应该可以工作!

with Sender as TBaseReport do
begin
  SetFont('Arial', 15);
  Title := 'JTester results';
  PrintHeader('JTester results', pjCenter);

  // Mohr Circle
  bmp := TBitmap.Create;
  cMohr.Color := clWhite;
  cMohr.CopyToClipboardBitmap;
  cMohr.Color := clBtnFace;
  bmp.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
  PrintBitmapRect(0.2,0.5,PageWidth-0.4,(PageWidth-0.4)*bmp.Height/bmp.Width,bmp);
  ..
  ..

答案 1 :(得分:0)

您可以将LoadFromStream用于TBitmap,然后在RAVE中使用该位图。