TPicture
использует класс VCL TMetafile
по умолчанию для загрузки файлов WMF. Но, как сказано в ответе Уве, TMetafile
может загружать только размещаемые метафайлы WMF 1 , и ваш файл не является размещаемым метафайлом WMF 2 .
Даже класс VCL TWICImage
, который является оболочкой для API WIC (Windows Imaging Component) от Microsoft, который может загружать многие форматы изображений, поддерживаемые Windows, также не может загрузить ваш файл, и это сбой происходит от самой ОС, а не от VCL. Тем не менее, WIC является расширяемым, поэтому вы можете попробовать реализовать и зарегистрировать пользовательский декодер для обработки вашего файла WMF. Формат метафайла задокументирован в MSDN .
Тем не менее, WMF действительно является устаревшим форматом изображений из 16-битных дней. Если вы действительно хотите работать с метафайлами, вам следует использовать EMF, который также поддерживается TMetafile
.
1: размещаемый метафайл WMF содержит дополнительный заголовок для описания координат XY, где изображение должно быть нарисовано на холсте GDI, и количество логических единиц на дюйм для масштабирования изображения.
2: Ваш файл идентифицирует себя как неразмещаемый метафайл в формате MEMORYMETAFILE, а не в формате DISKMETAFILE. Интересно, это как-то связано с вашей проблемой?