Рушники Windows Метафайли

Windows Формат метафілу - формат файлів зображень, який може містити як векторну, так і растрову графіку. Цей формат використовується для зберігання даних графіки в пам’яті або на диску. Метафайл зберігає список викликів функцій Windows Графічний інтерфейс пристрою (GDI), який повинен бути виконаний для відображення зображення на екрані. Система інтерпретує та виконує ці команди в контексті відображення.

Раніше, Windows Метафайл - єдиний формат векторного зображення, що підтримується Microsoft Wordй Microsoft Word Тепер також підтримує формат SVG, але формат метафайлу все ще зазвичай використовується в документах Word. Крім того, Metafile може бути змінним форматом для деяких інших додатків, таких як Microsoft Вісіо. Основною метою Metafile є забезпечення обміну графічною інформацією між Windows додатки.

Є 3 версії Windows Мета

  • WMF - зберігає виклик 16bit GDI.
  • EMF - зберігає виклик Win32/GDI.
  • EMF+ Metafile зберігає виклик GDI+. EMF+ Metafile також може бути подвійним, що описує однакову графіку як з EMF, так і EMF+ частин.

Чистий випуск Windows Метафайл - це не підтримується самими форматами, до яких зазвичай зберігаються документи. Тому потрібно конвертувати формат Metafile в інші растрові або векторні формати. Легко конвертувати Windows Метафайл до растрового зображення на .NET просто переходячи його на GDI+, але це не можливо на інших платформах, оскільки навіть GDI+ не дає можливості витягти векторну графіку з Metafile. Для вирішення цих питань Aspose.Words реалізує власну Windows Метафайл-плеєр, який здатний відтворювати формат Metafile як векторний, так і растровий графік на всіх платформах.

Контроль Aspose.Words Метафайл плеєр

Про нас MetafileRenderingOptions клас дозволяє керувати метафайлом. Наприклад, ви можете визначити, як зображення метафайлу необхідно надати за допомогою RenderingMode майно, яке має особливий сенс при перетворенні на бітмапи (див. також MetafileRenderingOptions майно.

Підтримує Растрові операції

Растрові операції – це комплексна функція метафілу, яка наразі має обмежену підтримку. Растрові операції доступні в форматах WMF і EMF. Формат EMF+ не використовує растрові операції безпосередньо, але може містити деталі EMF, вбудовані профілі WMF або EMF.

Є бінарні та ternary raster операції:

  • Бінарні растрові операції наносяться на команди ручного малюнка, такі як лінії малювання і вигини. При накладанні лінії колір ручки поєднується з кольором утилізації пункту призначення (кольор відповідного пікселя на поверхні пристрою) за допомогою вказаних бітумних логічних операцій з значенням кольору шістки. Приклад зображення нижче ілюструє ефект всіх 16 бінарних растрових операцій, які застосовуються до 20 різних кольорових барів. Нанесені вертикальні кольорові стовпчики, горизонтальні стовпчики після кожної операції бінарних растрових виробів. Для простих випадків R2_BLACK малює чорний, R2_NOT перетворює колір, R2_NOP не змінює фон, і R2_WHITE малює білий.
handling-windows-metafiles-aspose-words-java-1
  • Тернарні растрові операції застосовуються при накладанні растрових зображень. Вони поєднують кольори відповідних бітма зображення пікселів, пензлика, і місце призначення бітма, використовуючи бітумні логічні операції з вказаними значеннями кольорів шестигран. Однією з найбільш поширених цілей використання денних растрових операцій є емульсія прозорості. Наведено зображення на прикладі нижче, показує, як можна використовувати прозорість ікони. Існує два типи бітмаксів: b/w маска бітма і кольорова бітмапа. По-перше, маска бітма малюється з рариком SRCAND. Змінити область піктограми на чорно-білу, залишаючи прозору область незмінною. Після чого друге бітма намальовується з рариком SRCINVERT. Відображається колір пікселів на чорному регіоні, залишаючи прозору область незмінною.
handling-windows-metafiles-aspose-words-java-2

Растрові операції не можуть перетворюватися в векторну графіку безпосередньо. Aspose.Words емульгує растрові операції шляхом часткового знеболювання поверхні пристрою, ураженої растровими операціями. Для цієї мети EmulateRasterOperations Зручності в готелі.

Приклад показує, як показано нижче Aspose.Words надає метафілію на бітмапа, коли неможливо правильно надати деякі з записів метафілу до векторної графіки: