Изменение цвета WMF

Я пытался изменить цвета на холсте wmf в Delphi, с обычными изображениями я просто запускаю строку сканирования или запускаю цикл для каждого пикселя X и Y и даю ему новый цветовой код, но с MetaCanvas этот метод не работает, возможно потому что на самом деле это не изображение, а список функций GDI. Я где-то читал, что мне нужно декомпилировать и перекомпилировать метафайл, чтобы изменить в нем свойства цвета. Но я понятия не имею, как я это сделаю и есть ли другой простой способ.

Если кто-нибудь может указать мне правильное направление.

Спасибо


person Junaid Noor    schedule 16.12.2012    source источник


Ответы (1)


Существует механизм для изменения содержимого метафайла.

Вызовите EnumEnhMetaFile, передав функцию обратного вызова, _ 2_. Функция обратного вызова вызывается для каждой записи в метафайле. Вы можете взять копию этой записи, изменить ее, а затем передать ее PlayEnhMetaFileRecord.

Таким образом, вы можете искать записи, в которых указаны цвета, и вносить необходимые изменения.

person David Heffernan    schedule 16.12.2012
comment
Спасибо, сработало. извините за опоздание с выбором ответа - person Junaid Noor; 31.12.2012