我有一个例程
将绘图内容绘制到
procedure DrawStuff(ACanvas: TCanvas; const ARect: TRect)
,用于在TCanvas的指定矩形上绘制内容。目前我使用PaintBox的画布调用DrawStuff
。现在我要添加一个“另存为”选项,让用户可以选择多种文件格式(如bmp、wmf、jpg等)将DrawStuff
的结果保存到文件中(最好尽可能多地使用TGraphic的派生类)。将绘图内容绘制到
TMetafile
并将其保存为“bla.bmp”或将其分配给TPicture
不起作用-例如,它会生成扩展名为“.bmp”的文件,但实际上不是位图。目前,我无法想到不涉及每个文件格式的特殊情况的解决方案:
- bmp-使用
TBitmap.Canvas
。 - wmf/emf-使用
TMetafileCanvas
。 - 等等。
TPicture
可能有效,因为它似乎是一组记录的GDI调用。 - Uli Gerhardt