Рушники 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 майно.
Збереження бітма на платформах, відмінних від .NETй В той час як .NET GDI+ є довідником, що працює практично ідеальною навіть для найскладнішого формату метафілу, на інших платформах вона може викликати проблеми або не підтримується.
Підтримує Растрові операції
Растрові операції – це комплексна функція метафілу, яка наразі має обмежену підтримку. Растрові операції доступні в форматах WMF і EMF. Формат EMF+ не використовує растрові операції безпосередньо, але може містити деталі EMF, вбудовані профілі WMF або EMF.
Є бінарні та ternary растрові операції:
- Бінарні растрові операції наносяться на команди ручного малюнка, такі як лінії малювання і вигини. При накладанні лінії колір ручки поєднується з кольором утилізації місця призначення (кольор відповідного пікселя на поверхні пристрою) за допомогою вказаних бітумних логічних операцій з значеннями кольорів шістнадцятого кольору. Приклад зображення нижче ілюструє ефект всіх 16 бінарних растрових операцій, які застосовуються до 20 різних кольорових барів. Нанесені вертикальні кольорові стовпчики, нанесені горизонтальні стовпчики після кожного бінарного растрового операції. Для простих випадків R2_BLACK малює чорний, R2_NOT перетворює колір, R2_NOP не змінює фон, і R2_ Білі муфти білого кольору.
- Тернарні растрові операції застосовуються при накладанні растрових зображень. Вони поєднують кольори відповідних бітма зображення пікселів, пензлика, і місце призначення бітма, використовуючи бітумні логічні операції з вказаними значеннями кольору шестигран. Однією з найбільш поширених цілей використання денних растрових операцій є емульсія прозорості. Зображення, що надається в прикладі нижче, показує, як можна використовувати прозорість ікони. Існує два типи бітмаксів: b/w маска бітма і кольорова бітмапа. По-перше, маска бітма малюється за допомогою рарижу SRCAND. Змінити область піктограми на чорно-білу, залишаючи прозору область незмінною. Після чого наведено другий бітмапа з рариком SRCINVERT. Відображається колір пікселів на чорному регіоні, залишаючи прозору область незмінною.
Растрові операції не можуть перетворюватися в векторну графіку безпосередньо. Aspose.Words емульгує растрові операції, частково збільшуючи поверхню пристрою, уражену растровими операціями. Для цієї мети EmulateRasterOperations Зручності в готелі.
На прикладі показано нижче, Aspose.Words надає метафілію на бітмапа, коли неможливо правильно надати деякі з записів метафайлів до векторної графіки:
Параметри зворотного зв’язку Metafile
Aspose.Words не підтримує ряд функцій метафілу, які є найбільш складними або рідкісними. Користувачі можуть реалізувати IWarningCallBack інтерфейс і отримання повідомлень попередження. Якщо Aspose.Words зустрічає непідтримувані функції в метафайлі, це питання попередження повідомлення WarningSourceйMetafileй У цьому випадку Aspose.Words може виконати випадання до іншого типу метафілу гравця. Також видається повідомлення про випадання.
Спочатку, Aspose.Words виконує випадання з векторного метафілу гравця до растрового, який керується RenderingMode майно. Якщо функція випадіння вимкнена, Aspose.Words не підтримується.
Aspose.Words успішно грає метафіл для растрового використання GDI+ на .NET, що робить цей варіант зворотного зв’язку безпечним.
По-друге, існує можливість EMF+ Подвійний метафіл, щоб відтворити EMF+ частину до частини EMF. Управління EmfPlusDualRenderingModeй Якщо виникають деякі питання, коли грає частина EMF, то можна виконати випадання до растрового марка.
Що стосується растрових операцій, якщо EmulateRasterOperations Вимкнено, після чого растерні операції розглядаються як не підтримувані, що спрощує випадання до бітмапа метафілу гравця, якщо вона включена. Таким чином, якщо у вас є метафіл з растровими операціями, але ви не хочете використовувати емульгацію операцій растрових операцій і ще хочете отримати векторний вихід з графікою заміщення, після чого виберіть пункт MetafileRenderingModeйVectorй