Разное

Windows gdi: Windows GDI — Win32 apps

Содержание

Глава 6 Использование Windows GDI. Delphi. Трюки и эффекты

Глава 6 Использование Windows GDI. Delphi. Трюки и эффекты

ВикиЧтение

Delphi. Трюки и эффекты
Чиртик Александр Анатольевич

Содержание

Глава 6 Использование Windows GDI

• Графические объекты

• Аппаратно-независимыи графический вывод

• Контекст устройства

• Графические режимы

• Работа со шрифтами

• Рисование примитивов

• Работа с текстом

• Работа с растровыми изображениями

• Альфа-смешивание

Операционная система Windows с самого начала создавалась прежде всего как графическая оболочка. И как следствие, в ней осуществляется графическое представление информации. Вполне естественным является то, что почти любое приложение использует экран для отображения данных, с которыми оно работает. По крайней мере, сама операционная система отображает на экране визуальные элементы приложений.

Windows обеспечивает универсальность представления информации как на экране, так и на других устройствах вывода, например, на принтере. Стоит отметить, что для этого используются одни и те же примитивы отображения. Система самостоятельно определяет целевое устройство и активизирует соответствующий ему модуль. ОС Windows является многозадачной и предъявляет к приложениям ряд основных требований, исключающих конфликты при использовании функций вывода. Однако это вовсе не означает, что Windows обеспечивает приложения только набором функций вывода на экран или печать – система полностью управляет всем выводом. Наверное, более правильно будет сказать, что приложения используют в качестве первичного вывода окно, а не непосредственно экран. Каждое устройство вывода в Windows характеризуется набором текущих параметров, с использованием которых происходит собственно вывод. Причем в каждый конкретный момент времени только одному приложению соответствует некоторое устройство вывода, что исключает одновременный доступ к последнему, изменение параметров одним приложением перед началом процесса вывода другим.

Данный текст является ознакомительным фрагментом.

ГЛАВА 2 Использование файловой системы и функций символьного ввода/вывода Windows

ГЛАВА 2 Использование файловой системы и функций символьного ввода/вывода Windows Нередко самыми первыми средствами операционной системы (ОС), с которыми разработчик сталкивается в любой системе, являются файловая система и простой терминальный ввод/вывод. Ранние ОС для PC,

Использование объектов безопасности Windows

Использование объектов безопасности Windows В дескриптор безопасности вносятся многочисленные подробные данные, и на рис. 15.1 отражены лишь основные элементы его структуры. Заметьте, что у каждого процесса также имеется свой SID (содержащийся в маркере доступа), который

Использование цифровых сертификатов в Windows

Использование цифровых сертификатов в Windows Цифровой сертификат — это электронный документ, который однозначно идентифицирует его владельца. Сертификаты различных типов широко используются во многих службах безопасности Windows для разных целей, например:? проверка

Использование технологии Windows Management Instrumentation (WMI)

Использование технологии Windows Management Instrumentation (WMI) В Windows XP/2000 ядром системы управления является технология WMI — Windows Management Instrumentation. WMI — это глобальная концепция настройки, управления и слежения за работой различных частей корпоративной компьютерной сети. В частности,

Глава 5. Wi-Fi для Windows

Глава 5. Wi-Fi для Windows В мире идеальных сетей можно вставить беспроводной сетевой адаптер в компьютер, запустить его и сразу же подключиться к сети. Нет проблем, нет хлопот (и нет необходимости в таких книгах, как эта). Когда Windows идентифицирует сетевой адаптер при запуске, она

Глава 14 Настройка и использование Защитника Windows

Глава 14 Настройка и использование Защитника Windows 14. 1. Обновление определений14.2. Сканирование компьютера14.3. Настройка параметровЗащитник Windows – стандартный системный механизм, появившийся еще в операционной системе Windows Vista, главная задача которого – защита операционной

Глава 12 Версии Windows

Глава 12 Версии Windows Вот вы и прочитали значительную часть книги. Надеюсь, она вам понравилась и действительно оказалась полезной. Но перед тем, как ответить, поговорим еще о нескольких вопросах, которые не соответствуют общей теме книги, но все-таки могут быть вам

Разрешение на использование файла «autorun.inf» (Windows Me)

Разрешение на использование файла «autorun.inf» (Windows Me) В Windows существует возможность изменения значка дисков и автозапуска программ при помощи файла «autorun.inf».Но в Windows Me, если вы захотите таким образом изменить значки логических дисков, этот прием не сработает. Дело в том, что

7.4. Использование стандартного брандмауэра Windows 7

7.4. Использование стандартного брандмауэра Windows 7 Возможно, вам не понравится Comodo Internet Security. Тогда некоторое время, пока вы не найдете другую подходящую программу, вам придется использовать стандартный брандмауэр Windows 7.Нужно отметить, что новый брандмауэр Windows 7 довольно

ГЛАВА 4. ИСПОЛЬЗОВАНИЕ СММ

ГЛАВА 4. ИСПОЛЬЗОВАНИЕ СММ Модель СММ устанавливает набор общедоступных критериев, описывающих характеристики зрелых организаций-разработчиков. Эти критерии могут использоваться организациями для усовершенствования своих процессов разработки и сопровождения ПО,

ГЛАВА 21. Использование элементов управления Windows Forms

ГЛАВА 21. Использование элементов управления Windows Forms Эта глава представляет собой краткое руководство по использованию элементов управления, определенных в пространстве имен System.Windows.Forms. В главе 19 вы уже имели возможность поработать с некоторыми элементами управления,

Глава 2 Уменьшение размера ЕХЕ-файла. Использование Windows API

Глава 2 Уменьшение размера ЕХЕ-файла. Использование Windows API • Источник лишних килобайт• Создание окна вручную• Окно с элементами управления• Стандартные диалоговые окна Windows• Установка шрифта элементов управленияНе секрет, что размер скомпилированного ЕХЕ-файла

11.3. Использование стандартного брандмауэра Windows 7

11.3. Использование стандартного брандмауэра Windows 7 Бастион (он же брандмауэр, он же firewall) — это пакетный фильтр, позволяющий защитить ваш компьютер от действия вредоносных программ, сетевых червей, нежелательного трафика и всевозможных атак. Разберемся, как работает

Глава 2 Windows, и с чем ее едят

Глава 2 Windows, и с чем ее едят 2.1. Первое знакомство Операционная система (далее — ОС) Windows разработана корпорацией Microsoft. На сегодняшний день на большинстве домашних компьютеров установлена именно эта ОС. В компьютерном магазине систему вам установят, поэтому через

Урок 3.5. Использование программы Почта Windows

Урок 3.5. Использование программы Почта Windows Окно программы Почта Windows Рабочее окно программы Почта Windows обычно разделено на несколько частей (рис. 3.23).? Меню и панель инструментов. В меню содержатся все команды программы. Если подвести указатель мыши к одной из них, то в

Критическая уязвимость в Microsoft GDI

Дата публикации:06.
11.2013
Дата изменения:10.12.2013
Всего просмотров:5414
Опасность:
Критическая
Наличие исправления: Да
Количество уязвимостей:1
CVSSv2 рейтинг:10 (AV:N/AC:L/Au:N/C:C/I:C/A:C/E:H/RL:O/RC:C)
CVE ID: CVE-2013-3906
Вектор эксплуатации:Удаленная
Воздействие: Компрометация системы
CWE ID: MS13-096: Vulnerability in Microsoft Graphics Component Could Allow Remote Code Execution (2908005)
Наличие эксплоита: Активная эксплуатация уязвимости
Уязвимые продукты: Microsoft Windows Vista
Microsoft Windows Server 2008
Microsoft Office 2003 Small Business Edition
Microsoft Office 2003 Professional Edition
Microsoft Office 2003 Standard Edition
Microsoft Office 2003 Student and Teacher Edition
Microsoft Office 2007
Microsoft Office 2010
Microsoft Lync 2010
Microsoft Lync 2010 Attendant
Microsoft Lync Basic 2013
Microsoft Lync Server 2013
Microsoft Lync 2013

Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats
Уязвимые версии:
Windows Vista Service Pack 2
Windows Vista x64 Edition Service Pack 2
Windows Server 2008 for 32-bit Systems Service Pack 2
Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for Itanium-based Systems Service Pack 2
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
Microsoft Office 2003 Service Pack 3
Microsoft Office 2007 Service Pack 3
Microsoft Office 2010 Service Pack 1 (32-bit editions)
Microsoft Office 2010 Service Pack 2 (32-bit editions)
Microsoft Office 2010 Service Pack 1 (64-bit editions)
Microsoft Office 2010 Service Pack 2 (64-bit editions)
Microsoft Office Compatibility Pack Service Pack 3
Microsoft Lync 2010 (32-bit)
Microsoft Lync 2010 (64-bit)
Microsoft Lync 2010 Attendee
Microsoft Lync 2013 (32-bit)
Microsoft Lync Basic 2013 (32-bit)
Microsoft Lync 2013 (64-bit)
Microsoft Lync Basic 2013 (64-bit)

Описание:
Уязвимость позволяет удаленному пользователю выполнить произвольный код на целевой системе.

Уязвимость существует из-за ошибки в компоненте Microsoft Graphics при обработке TIFF изображений. Удаленный пользователь может с помощью специально сформированного TIFF изображения выполнить произвольный код на целевой системе.

Примечание: уязвимость активно эксплуатируется в настоящее время.

URL производителя: www.microsoft.com

Решение: Для устранения уязвимости установите исправление с сайта производителя.

a:2:{s:4:»TEXT»;s:358:»

В качестве временного решение рекомендуется запретить использование TIFF кодека. Для этого необходимо выполнить следующие действия:

Откройте редактор реестра и создайте следующую ветку:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Gdiplus

Добавьте новый ключ DisableTIFFCodec (DWARD) и установите его в значение 1. «;s:4:»TYPE»;s:4:»html»;}

Эксплоит: Microsoft Tagged Image File Format (TIFF) Integer Overflow Exploit
Ссылки: MS13-096: Vulnerability in Microsoft Graphics Component Could Allow Remote Code Execution (2908005)

http://technet. microsoft.com/en-us/security/advisory/2896666
http://blogs.technet.com/b/msrc/archive/2013/11/05/microsoft-releases-security-advisory-2896666-v2.aspx
Журнал изменений:a:2:{s:4:»TEXT»;s:146:»03.12.2013 — Добавлен РоС-код.
10.12.2013 — Добавлено официальное уведомление от Microsoft. Внесено изменение в секцию «Наличие исправления».»;s:4:»TYPE»;s:4:»text»;}

Подпишитесь на получение последних материалов по безопасности от SecurityLab.ru — новости, статьи, обзоры уязвимостей и мнения аналитиков.

Ежедневный выпуск от SecurityLab.Ru

Еженедельный выпуск от SecurityLab.Ru

Нажимая на кнопку, я принимаю условия соглашения.

GDI+ — приложения Win32 | Microsoft Узнайте

Редактировать

Твиттер LinkedIn Фейсбук Электронная почта

  • Статья
  • 2 минуты на чтение

Назначение

Windows GDI+ — это основанный на классах API для программистов на C/C++. Это позволяет приложениям использовать графику и форматированный текст как на видеодисплее, так и на принтере. Приложения, основанные на API Microsoft Win32, не имеют прямого доступа к графическому оборудованию. Вместо этого GDI+ взаимодействует с драйверами устройств от имени приложений. GDI+ также поддерживается Microsoft Win64.

Где применимо

Функции и классы GDI+ не поддерживаются для использования в службе Windows. Попытка использовать эти функции и классы из службы Windows может привести к непредвиденным проблемам, таким как снижение производительности службы и исключения или ошибки во время выполнения.

Примечание

При использовании GDI+ API вы никогда не должны позволять приложению загружать произвольные шрифты из ненадежных источников. Операционная система требует повышенных привилегий, чтобы гарантировать, что все установленные шрифты являются доверенными.

Аудитория разработчиков

Интерфейс GDI+ на основе классов C++ разработан для использования программистами на C/C++. Требуется знакомство с графическим пользовательским интерфейсом Windows и архитектурой, управляемой сообщениями.

Требования к среде выполнения

GDI+ можно использовать во всех приложениях на базе Windows. GDI+ был представлен в Windows XP и Windows Server 2003. Сведения о том, какие операционные системы необходимы для использования определенного класса или метода, см. в разделе «Дополнительная информация» документации по классу или методу.

В этом разделе

Тема Описание
Обзор
Общая информация о GDI+.
Использование
Задачи и примеры с использованием GDI+.
№ по каталогу
Документация по API на основе классов GDI+ C++.

Windows GDI

DirectX

Получение образа Windows

OpenGL

Мультимедиа Windows

Обзор графической архитектуры Windows — приложения Win32

Редактировать

Твиттер LinkedIn Фейсбук Электронная почта

  • Статья
  • 3 минуты на чтение

Windows предоставляет несколько C++/COM API для графики. Эти API показаны на следующей диаграмме.

  • Интерфейс графических устройств (GDI) — оригинальный графический интерфейс для Windows. Сначала GDI был написан для 16-битной Windows, а затем обновлен для 32-битной и 64-битной Windows.
  • GDI+ был представлен в Windows XP как преемник GDI. Доступ к библиотеке GDI+ осуществляется через набор классов C++, обертывающих плоские функции C. .NET Framework также предоставляет управляемую версию GDI+ в пространстве имен System.Drawing .
  • Direct3D поддерживает трехмерную графику.
  • Direct2D — это современный API для двумерной графики, преемник GDI и GDI+.
  • DirectWrite — это механизм компоновки текста и растеризации. Вы можете использовать GDI или Direct2D для рисования растрового текста.
  • Графическая инфраструктура DirectX
  • (DXGI) выполняет низкоуровневые задачи, такие как представление кадров для вывода. Большинство приложений не используют DXGI напрямую. Скорее, он служит промежуточным слоем между графическим драйвером и Direct3D.

Direct2D и DirectWrite были представлены в Windows 7. Они также доступны для Windows Vista и Windows Server 2008 через обновление платформы. Дополнительные сведения см. в разделе Обновление платформы для Windows Vista.

Direct2D находится в центре внимания этого модуля. Хотя и GDI, и GDI+ по-прежнему поддерживаются в Windows, Direct2D и DirectWrite рекомендуются для новых программ. В некоторых случаях сочетание технологий может быть более практичным. Для таких ситуаций Direct2D и DirectWrite предназначены для взаимодействия с GDI.

В следующих разделах описаны некоторые преимущества Direct2D.

Аппаратное ускорение

Термин аппаратное ускорение относится к графическим вычислениям, выполняемым графическим процессором (GPU), а не CPU. Современные графические процессоры оптимизированы для типов вычислений, используемых при рендеринге графики. Как правило, чем больше этой работы переносится с ЦП на ГП, тем лучше.

Хотя GDI поддерживает аппаратное ускорение для определенных операций, многие операции GDI привязаны к центральному процессору. Direct2D накладывается поверх Direct3D и в полной мере использует аппаратное ускорение, обеспечиваемое графическим процессором. Если графический процессор не поддерживает функции, необходимые для Direct2D, Direct2D возвращается к программному рендерингу. В целом Direct2D превосходит GDI и GDI+ в большинстве ситуаций.

Прозрачность и сглаживание

Direct2D полностью поддерживает аппаратное ускорение альфа-смешивания (прозрачности).

GDI имеет ограниченную поддержку альфа-смешивания. Большинство функций GDI не поддерживают альфа-смешение, хотя GDI поддерживает альфа-смешивание во время операции битового преобразования. GDI+ поддерживает прозрачность, но альфа-смешивание выполняется ЦП, поэтому аппаратное ускорение не дает преимуществ.

Аппаратное ускорение альфа-смешивания также позволяет выполнять сглаживание. Псевдоним — это артефакт, вызванный выборкой непрерывной функции. Например, когда изогнутая линия преобразуется в пиксели, наложение может привести к неровному виду. Любой метод, который уменьшает артефакты, вызванные алиасингом, считается формой сглаживания. В графике сглаживание выполняется путем смешивания краев с фоном. Например, вот круг, нарисованный GDI, и такой же круг, нарисованный Direct2D.

На следующем изображении показана деталь каждого круга.

Круг, нарисованный GDI (слева), состоит из черных пикселей, которые аппроксимируют кривую. Круг, нарисованный Direct2D (справа), использует смешивание для создания более гладкой кривой.

GDI не поддерживает сглаживание при рисовании геометрии (линий и кривых). GDI может рисовать сглаженный текст, используя ClearType; но в противном случае текст GDI также имеет псевдоним. Псевдонимы особенно заметны для текста, потому что неровные линии нарушают дизайн шрифта, делая текст менее читаемым.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *