3

我一直在尝试在 Delphi 中更改 wmf 画布上的颜色,使用通常的图像我只是运行扫描线或在每个 X 和 Y 像素上运行一个循环并给它一个新的颜色代码,但是对于 MetaCanvas,这种方法不起作用,也许因为它实际上不是图像,而是 GDI 函数列表。我在某处读到我需要反编译和重新编译元文件以更改其中的颜色属性。但我不知道我将如何做到这一点,或者是否有另一种简单的方法。

如果有人能指出我正确的方向。

谢谢

4

1 回答 1

3

有一种机制可以让您修改元文件的内容。

调用EnumEnhMetaFile传递回调函数,EnhMetaFileProc. 为图元文件中的每条记录调用回调函数。您可以复制此记录,对其进行修改,然后将其传递给PlayEnhMetaFileRecord.

因此,您可以查找指定颜色的记录,并进行所需的任何修改。

于 2012-12-16T19:21:23.623 回答