【发布时间】:2013-06-06 06:27:58
【问题描述】:
我用几个帮助函数对ExtCtrls.TPaintBox 进行了子类化,并覆盖了Paint 方法。我可以将TPaintBox 添加到一个表单中,然后该表单充当我的自定义paintbox 对象并绘制所需的输出。
现在我想将我的画框的内容绘制(写入)到一个文件中,但尺寸不同;例如在我的应用程序的 UI 中,paintbox 的大小为 150x600(宽 x 高),但是当绘制到文件时,我需要它更大。
我希望能够重复使用我的绘图代码 (= TPaintBox.Paint) 并将其虚拟绘制到 an object,然后将该对象保存到文件中。
我已经可以导出它了,但是在导出时调整大小会使图像看起来像你会用油漆放大它。
【问题讨论】:
-
你能展示你的
TPaintBox.Paint()方法吗?如果您只绘制矢量对象,则需要以更高的分辨率重新绘制它们以获得更大的输出。如果您使用的是位图数据,那么您需要从任何原始来源创建或保留高分辨率数据。您不能以其他方式放大位图数据和提高分辨率 - 您需要一个高分辨率源开始。唯一的其他选择可能是对较大图像进行抗锯齿的一些巧妙的后期处理。 -
就像 J 说的,你应该从大到小,而不是相反。
-
我确实在绘制矢量对象(矩形、饼图),而这正是我所需要的:以比当前屏幕上显示的分辨率更高的分辨率输出。
标签: delphi drawing save paintbox