我一直在尝试在Delphi的wmf画布上更改颜色,通常的图像我只是运行一条扫描线,或者在每个X和Y像素上运行一个循环并给它一个新的颜色代码,但是使用MetaCanvas这个方法不会工作,也许是因为它实际上不是一个图像,而是一个GDI函数列表。我在某处读到了我需要反编译并重新编译元文件以更改其中的颜色属性。但我不知道我将如何做到这一点,或者是否有另一种简单的方法。
如果有人能指出我正确的方向。
由于
答案 0 :(得分:3)
您可以使用一种机制修改元文件的内容。
通过回调函数EnumEnhMetaFile
调用EnhMetaFileProc
。为图元文件中的每条记录调用回调函数。您可以获取此记录的副本,对其进行修改,然后将其传递给PlayEnhMetaFileRecord
。
因此,您可以查找指定颜色的记录,并进行所需的任何修改。