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

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

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

Спасибо

1 ответ

Решение

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

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

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

Другие вопросы по тегам