Изменение цвета WMF
Я пытался изменить цвета на холсте wmf в Delphi, с обычными изображениями я просто запускаю линию сканирования или запускаю цикл для каждого пикселя X и Y и присваиваю ему новый цветовой код, но с MetaCanvas этот метод не работает, возможно потому что это на самом деле не изображение, а список функций GDI. Я где-то читал, что мне нужно декомпилировать и перекомпилировать метафайл для изменения свойств цвета в нем. Но я понятия не имею, как я это сделаю или есть ли другой простой способ для этого.
Если кто-нибудь может указать мне в правильном направлении.
Спасибо
1 ответ
Существует механизм для изменения содержимого метафайла.
Вызов EnumEnhMetaFile
передавая функцию обратного вызова, EnhMetaFileProc
, Функция обратного вызова вызывается для каждой записи в метафайле. Вы можете взять копию этой записи, изменить ее, а затем передать ее PlayEnhMetaFileRecord
,
Таким образом, вы можете искать записи, в которых указаны цвета, и вносить любые необходимые изменения.