Программирование графики для Windows - Фень Юань.


Книга Программирование графики для Windows - Фень Юань.

Название: Программирование графики для Windows.
Автор: Фень Юань.
2002.
    Книга посвящена графическому программированию для Windows с использованием Win32 GDI API. Кроме того, в ней приведены начальные сведения о DirectDraw и краткое введение в непосредственный режим Direct3D. Рассматриваются стандартные возможности, поддерживаемые на всех платформах Win32, 32-разрядные возможности, реализованные только в Windows NT/2000, и новейшие расширения GDI, появившиеся только в Windows 2000 и Windows 98. В книге приведено множество фрагментов кода, подходящих для практического применения. Помимо простейших тестовых и демонстрационных программ, вы найдете в ней множество функций, классов C++, драйверов, утилит и нетривиальных программ, вполне подходящих для использования в коммерческих проектах.

Содержание
Благодарности.
Введение.
О чем эта книга.
Как организована эта книга.
Как читать эту книгу.
Что находится на компакт-диске.
Что дальше?.
От издательства.
Глава 1. Основные принципы и понятия.
Основы программирования для Windows на C/C++.
Hello World, версия 1: запуск браузера.
Hello World, версия 2: вывод текста на рабочем столе.
Hello, World, версия 3: создание полноэкранного окна.
Hello, World, версия 4: вывод средствами DirectDraw.
Ассемблер.
Среда программирования.
Разработка и тестирование.
Компиляторы.
Microsoft Platform SDK.
Microsoft Driver Development Kit.
Microsoft Developer Network.
Формат исполняемых файлов Win32.
Каталог импорта.
Каталог экспорта.
Архитектура операционной системы Microsoft Windows.
HAL.
Микроядро.
Драйверы устройств.
Управление окнами и графическая система.
Исполнительная часть.
Системные функции.
Системные процессы.
Службы.
Платформенные подсистемы.
Итоги.
Примеры программ.
Глава 2. Архитектура графической системы Windows.
Компоненты графической системы Windows.
Мультимедиа.
Video for Windows.
Still Image.
OpenGL   .
Windows Media.
Компоненты режима ядра.
Драйверы режима ядра.
Архитектура GDI.
Функции, экспортируемые из GDI32.DLL.
Группы функций GDI.
Вызовы системных функций GDI.
От Win32GDIAPlк системным функциям механизма GDI.
Архитектура DirectX.
Компоненты DirectX.
Архитектура DirectDraw.
Архитектура системы печати.
Клиент спулера Win32.
Служба спулера.
Маршрутизатор спулера.
Провайдер печати.
Процессор печати.
Языковой монитор и монитор порта.
Процесс спулера изнутри.
Графический механизм
Системные функции графического механизма.
Механизм графической визуализации.
Структуры данных графического механизма.
Преобразование в примитивы.
Шрифтовые драйверы.
Драйверы экрана.
Драйвер видеопорта и мини-драйвер видеопорта.
Назначение драйвера экрана.
Инициализация драйвера экрана.
Вывод на поверхность, перехват и возврат.
Дополнительные возможности драйвера.
Поддержка DirectDraw/Direct3D на уровне драйвера экрана.
Драйверы принтеров.
Управляющие драйверы принтеров от Microsoft
Графическая библиотека DLL драйвера принтера. Драйвер принтера для вывода документа HTML
Итоги.
Примеры программ.
Глава 3. Внутренние структуры данных GDI/DirectDraw
Манипуляторы и объектно-ориентированное программирование.
Класс и объект.
Инкапсуляция и маскировка реализации.
Указатели и манипуляторы.
Тождественное отображение.
Табличное отображение.
Когда манипулятора недостаточно.
Расшифровка манипуляторов объектов GDI.
Манипуляторы стандартных объектов - константы.
HGDIOBJ не является указателем.
Максимальное количество манипуляторов GDI
на уровне процесса-12 000.
Максимальное количество манипуляторов
на уровне системы-16
Часть HGDIOBJ содержит индекс.
Часть HGDIOBJ содержит тип объекта GDI.
Поиск таблицы объектов GDI.
Расшифровка таблицы объектов GDI.
Указатель pKernel ссылается на выгружаемый пул.
Поле nCount иногда используется как счетчик выбора объектов.
Поле nProcess связывает манипулятор GDI с конкретным процессом
nUpper: дополнительная проверка.
пТуре: внутренний тип объекта.
pUser: указатель на структуру данных пользовательского режима.
Структуры данных пользовательского режима.
Структура данных пользовательского режима для кистей: оптимизация создания однородных кистей.
Структура данных пользовательского режима для регионов: оптимизация прямоугольных регионов.
Структура данных пользовательского режима для шрифтов: таблица значений ширины.
Структура данных пользовательского режима для контекста устройства: атрибуты
Обращение к адресному пространству режима ядра.
WinDbg и расширение отладчика GDI.
Структуры данных режима ядра.
Таблица объектов GDI в механизме GDI.
Типы объектов GDI в механизме GDI.
Контекст устройства в механизме GDI.
Структура PDEV в механизме GDI.
Поверхности в механизме GDI.
Аппаратно-зависимые растры в механизме GDI.
DIB-секции в механизме GDI.
Кисти в механизме GDI.
Перья в механизме GDI.
Палитры в механизме GDI.
Регионы в механизме GDI.
Траектории в механизме GDI.
Шрифты в механизме GDI.
Другие объекты GDI в механизме GDI.
Структуры данных DirectDraw.
Итоги.
Примеры программ.
Глава 4. Мониторинг графической системы Windows.
Отслеживание вызовов функций Win32 API.
Построение программы мониторинга.
Внедрение DLL-разведчика.
Подключение к цепочке вызовов функций API.
Сбор информации.
Вывод данных   .
Управляющая программа.
Отслеживание вызовов Win32 GDI.
Файл определения GDI API.
Декодер данных GDI.
Полный мониторинг API.
Отслеживание СОМ-интерфейсов DirectDraw.
Таблица виртуальных функций.
Определение DirectDraw API.
Модификация таблицы виртуальных функций.
Отслеживание системных вызовов GDI.
Отслеживание интерфейса DDI.
Итоги.
Примеры программ
Глава 5. Абстракция графического устройства.
Современные видеоадаптеры.
Кадровый буфер.
Формат пикселов.
Двойная буферизация, z-буфер и текстуры.
Аппаратное ускорение.
Экранное устройство и перечисление режимов.
Контекст устройства.
Создание контекста устройства.
Получение информации о возможностях устройства.
Атрибуты в контексте устройства.
Связь контекста устройства с окном.
Графический вывод в многооконной среде.
Получение контекста устройства, связанного с окном.
Общий контекст устройства.
Классовый контекст устройства.
Закрытый контекст устройства.
Родительский контекст устройства.
Прочие контексты устройств.
Информационный контекст устройства.
Совместимый контекст устройства.
Метафайловый контекст устройства.
Формальное представление контекста устройства.
Пример: родовой класс рамочного окна.
Класс панели инструментов.
Класс строки состояния.
Класс холста.
Класс рамочного окна.
Тестовая программа.
Пример программы: графический вывод в контексте устройства.
Обновляемый регион окна.
Сообщение WM_PAINT.
Наглядное представление сообщений перерисовки окна.
Итоги.
Примеры программ.
Глава 6. Системы координат и преобразования.
Физическая система координат.
Система координат устройства.
Страничная система координат и режимы отображения.
Режим отображения ММ_ТЕХТ.
Режимы отображения MMJ.OENGLISH и MMJHIENGLISH
Режимы отображения MM.LOMETRIC и MMJHIMETRIC
Режим отображения MM_TWIPS.
Режим отображения MMJSOTROPIC.
Режим отображения MM.ANISOTROPIC.
Базовые точки окна и области просмотра.
Другие функции окна и области просмотра.
Мировая система координат.
Аффинные преобразования.
Функции мировых преобразований в Win32 API.
Использование мировых преобразований.
Использование систем координат.
Реализация преобразований в GDI.
Пример программы: прокрутка и масштабирование.
Игра го в классе KScrollCanvas.
Итоги.
Примеры программ.
Глава 8. Линии и кривые.
Бинарные растровые операции.
Режим заполнения фона и цвет фона.
Перья.
Объект логического пера.
Стандартные перья.
Простые перья.
Расширенные перья.
Получение информации о логических перьях.
Класс для работы с объектами перьев GDI.
Линии.
Кривые Безье.
PolyDraw.
Альтернативное определение кривых Безье.
Дуги.
Определение дуги в градусах: функция AngleArc.
Рисование дуг пером со стилем PSJNSIDEFRAME.
Преобразование дуг в кривые Безье.
Траектории.
Построение траектории.
Получение информации о траектории.
Преобразование объекта траектории
Графические операции с использованием траекторий.
Преобразование пути в регион.
Пример: рисование нестандартных стилевых линий.
Итоги.
Пример программы.
Глава 9. Замкнутые области.
Кисти.
Объект логической кисти.
Стандартные кисти
Пользовательские кисти.
Кисти системных цветов.
Структура L0GBRUSK.
Прямоугольники.
Прямоугольник как структура данных.
Рисование прямоугольников.
Прорисовка границ и элементов управления.
Эллипсы, секторы, сегменты и закругленные прямоугольники.
Многоугольники.
Режим заполнения многоугольников.
Замкнутые траектории.
Регионы.
Создание объекта региона.
Операции с объектами регионов.
Прорисовка регионов.
Градиентные заливки.
Градиентная заливка прямоугольников.
Применение градиентных заливок для создания объемных кнопок Практическое использование заливок.
Полупрозрачная заливка.
Реализация градиентных заливок в цветовом пространстве HLS.
Радиальные градиентные заливки.
Текстурные и растровые заливки.
Узорные заливки Итоги.
Пример программы.
Глава 10. Основные сведения о растрах
Аппаратно-независимые растры.
Файловый формат BMP.
Упакованный аппаратно-независимый растр.
Разделенный аппаратно-независимый растр.
Класс для работы с DIB.
Отображение DIB в контексте устройства.
StretchDIBits.
Исходный прямоугольник.
Приемный прямоугольник и режимы масштабирования.
Преобразование цветового формата.
Растровая операция.
Пример использования функции StretchDIBits.
SetDIBitsToDevice.
Совместимые контексты устройств.
Аппаратно-зависимые растры.
CreateBitmap.
CreateBitmapIndirect
GetObjectи DDB.
CreateCompatibleBitmapMCreateDiscardableBitmap
CreateDIBitmap.
LoadBitmap.
Копирование растров между форматами DIB и DDB.
Прямой доступ к массиву пикселов DDB.
Использование DDB-расгров.
Отображение DDB-расгров.
Использование растров в меню.
Использование растра в качестве фона окна.
CreateDIBSection.
Класс для работы С DIB-секциями.
Функции GetObjectType и GetObjectдл я DIB-секций
GetDIBColorTable и SetDIBColorTable.
Применение DIB-секций: аппаратно-независимый вывод
Применение DIB-секций: вывод в высоком разрешении.
Итоги.
Примеры программ.
Глава 11. Нетривиальное использование растров.
Тернарные растровые операции.
Коды растровых операций.
Диаграмма тернарных растровых операций.
Часто используемые растровые операции.
Прозрачные растры.
Функция PlgBIt.
Кватернарные растровые операции :MaskBlt.
Цветовые ключи: TransparentBIt.
Прозрачность без маски.
Прозрачный вывод с использованием геометрических фигур.
Прозрачный вывод с использованием отсечения.
Предварительная подготовка изображений.
Альфа-наложение.
Пример альфа-наложения с постоянным коэффициентом.
Постепенное проявление и исчезновение растров.
Прозрачные окна.
Альфа-канал: KnacCAirBrush.
Имитация альфа-наложения.
Итоги.
Примеры программ.
Глава 12. Графические алгоритмы и растры Windows
Прямой доступ к пикселам.
Аффинные преобразования растров.
Быстрые специализированные преобразования растров.
Преобразования цветов.
Преобразование растров в оттенки серого.
Гамма-коррекция.
Преобразование пикселов в растрах
Родовой класс преобразований пикселов.
Родовой класс цветоделения.
Пример выделения каналов.
Гистограмма.
Пространственные фильтры.
Фильтры сглаживания и резкости.
Выделение границ и рельеф.
Морфологические фильтры.
Итоги.
Примеры программ.
Глава 13.  Палитры
Системная палитра.
Параметры экрана.
Получение системной палитры.
Статические цвета
Логическая палитра.
Палитра по умолчанию.
Полутоновая палитра
Создание специализированной палитры.
Сообщения палитры.
WM_QUERYNEWPALETTE.
WM.PALETTEISCHANGING.
WM_PALETTECHANGED.
Тестовая программа.
Палитра и растры.
Аппаратно-зависимые растры и палитры.
Аппаратно-независимые растры и палитры.
Индекс палитры в цветовой таблице DIB.
DIB-секций и палитра
Квантование цветов.
Сокращение цветовой глубины растра.
Пример программы.
Глава 14.  Шрифты
Что такое шрифт?.
Наборы символов и кодировки.
Глифы.
Шрифт.
Семейство шрифтов и начертание.
Растровые шрифты.
Векторные шрифты.
Шрифты TrueType.
Формат файлов шрифтов TrueType.
Заголовок шрифта.
Максимальный профиль.
Отображение символов в индексы глифов.
Индексная таблица.
Данные глифов.
Инструкции глифа.
Горизонтальные метрики.
Кернинг.
Метрики OS/2 и Windows.
Другие таблицы.
Коллекции TrueType.
Установка и внедрение шрифтов.
Ресурсные файлы шрифтов.
Установка открытых шрифтов.
Установка закрытых шрифтов и шрифтов Multiple Master OpenType.
Установка шрифтов из образа в памяти.
Внедрение шрифтов.
Системная таблица шрифтов.
Итоги.
Примеры программ.
Глава 15.  Текст
Логические шрифты.
Метрики шрифтов в Windows.
Стандартные шрифты.
Создание логических шрифтов.
Подстановка шрифта.
Система подстановки шрифтов PANOSE.
Получение информации о логическом шрифте.
Метрики растровых и векторных шрифтов.
Метрики шрифтов TrueType/OpenType
Структура LOGFONTи метрики шрифта.
Точность шрифтовых метрик.
Простой вывод текста.
Выравнивание текста.
Вывод текста справа налево.
Дополнительные интервалы.
Ширина символа.
Нетривиальный вывод текста.
Преобразование символов в глифы.
Кернинг.
Расположение символов.
Функция ExtTextOut.
Uniscribe.
Доступ к данным глифов.
Форматирование текста.
Вывод текста с табуляцией.
Простое абзацное форматирование.
Аппаратно-независимоеформатирование текста Эффекты при выводе текста.
Цветтекста.
Начертания.
Геометрические эффекты.
Работа с текстом в растровом формате.
Текст как совокупность кривых.
Текст как регион.
Итоги.
Пример программы.
Глава 16. Метафайлы.
Общие сведения о метафайлах.
Создание расширенного метафайла.
Воспроизведение расширенного метафайла.
Получение информации о расширенном метафайле.
Передача расширенных метафайлов.
Строение расширенных метафайлов.
Записи EMF.
Классификация типов записей EMF.
Расшифровка записей EMF.
Простые объекты GDI в EMF.
Растры в EMF.
Регионы в EMF.
Траектории в EMF.
Палитры в EMF.
Системы координат в EMF.
Команды вывода в EMF
Аппаратная независимость EMF Перечисление записей EMF.
Класс C++ для перечисления записей EMF
Замедленное воспроизведение EMF
Трассировка воспроизведения EMF
Динамическое изменение EMF.
Построение производных метафайлов EMF как средство программирования
Декомпилятор EMF.
Сохранение EMF-файла спулера Итоги.
Дополнительная информация.
Примеры программ.
Глава 17. Печать.
Знакомство со спулером.
Процесс печати.
Язык управления принтером.
Прямой вывод в порт.
Печать с использованием спулера.
Процессор печати EMF.
Перечисление принтеров.
Получение информации о принтере.
Настройка драйвера принтера Базовая печать средствами GDI
Стандартные диалоговые окна печати
Создание контекста устройства принтера
Получение информации о контексте устройства принтера
Последовательность формирования заданий печати Поддержка печати в программах
Единая логическая система координат
Имитация внешнего вида
Одновременный вывод
Печать нескольких страниц на одном листе.
Родовой класс печати.
Вывод в контексте устройства принтера.
Единицы измерения.
Текст.
Исполнительная часть.
Microsoft определяет исполнительную часть (Executive) Windows NT/2000 как совокупность компонентов режима ядра, образующих базовую операционную систему Windows NT/Windows 2000. Помимо HAL, микроядра и драйверов устройств, в исполнительную часть также входят компоненты исполнительной поддержки, диспетчера памяти, диспетчера кэша, структуры процессов, межпроцессных взаимодействий (LPC и RPC), диспетчера объектов, диспетчера ввода-вывода, диспетчера конфигурации и монитора безопасности.
Каждый компонент исполнительной части поддерживает набор системных функций, которые могут вызываться из пользовательского режима (кроме диспетчера кэша и HAL) при помощи прерываний. Кроме того, каждый компонент предоставляет точку входа, доступную только для модулей, работающих в адресном пространстве ядра.

Рейтинг: 4.8 баллов / 2537 оценок
Формат: Книга
Уже скачали: 12785 раз



Похожие Книги

Нам показалось, что Книги ниже Вас заинтересуют не меньше. Эти издания Вы так же можете скачивать и читать совершенно бесплатно на сайте!

  • Книга СДЕЛАЙ ЭТО САМ. Коттедж. Строительство и отделка

    СДЕЛАЙ ЭТО САМ. Коттедж. Строительство и отделка

    Формат: CHMКачество: Отсканированные страницыОписание: Постройте дом Вашей мечты!Наша книга сделает это реальностью.Вы найдете в ней информацию о закладке фундамента, возведение стен, сооружение кровл . . .

  • Книга Limagerie de la France

    Limagerie de la France

    Автор:Emillie Beaumont Название: L'imagerie de la France. Франция в картинкахИздательство: FleurusГод: 2009Формат: PDFРазмер: 114МВСтрниц:132ISBN: 2215097604 Эмили Бомон - Франция в картинках. Регион . . .

  • Книга Автоматизация и метрологическое обеспечение измерений в нефтяной и газовой промышленности

    Автоматизация и метрологическое обеспечение измерений в нефтяной и газовой промышленности

    Автор: коллектив авторовНазвание: Автоматизация и метрологическое обеспечение измерений в нефтяной и газовой промышленностиИздательство: УНИГод: 1984Формат: pdf Размер: 6.7 МбПредставлены результата н . . .

  • Книга Журнал "Секреты здоровья" № 05.2007

    Журнал "Секреты здоровья" № 05.2007

    Русская редакция издания "Secrets of Health". Народные рецепты, полезные советы, смехотерапия и многое другое.ЧИТАЙТЕ В НОМЕРЕ:- Как контролировать свою жизнь?- 12 причин исчезновения энергии у здоров . . .

  • Книга Бурение и эксплуатация нефтяных и газовых скважин

    Бурение и эксплуатация нефтяных и газовых скважин

    Автор: коллектив авторовНазвание: Бурение и эксплуатация нефтяных и газовых скважинИздательство: ППИГод: 1976Формат: pdf Размер: 4.9 МбПубликуются материалы исследовании, проводимых на кафедрах бурени . . .

  • Книга Энциклопедия для детей. Все о животных от А до Я

    Энциклопедия для детей. Все о животных от А до Я

    Энциклопедия для детей. Все о животных от А до ЯГод выпуска: 1999Жанр: ЭнциклопедияФормат: PDFКачество: Отсканированные страницыКоличество страниц: 156Описание: Порадуйте Ваших детей.Интересная информ . . .

  • Книга 100 самых модных моделей из пряжи

    100 самых модных моделей из пряжи

    Автор: КоллективНазвание: 100 самых модных моделей из пряжиИздательство: АСТГод: 2008Формат: PDFРазмер: 83,1 МбСтраниц: 210В книге собраны 100.лучших женских, мужских и детских моделей из пряжи, выпол . . .

  • Книга Технология бурения нефтяных и газовых скважин

    Технология бурения нефтяных и газовых скважин

    Автор: ред.коллегия Уфимского нефтяного институтаНазвание: Технология бурения нефтяных и газовых скважинИздательство: УНИГод: 1987Формат: pdf Размер: 6.5 МбОпубликованы результаты исследований, прове . . .

  • Книга Bf 110 E und F Schubwaffenanlage.  Bedienungsvorschrift – Wa

    Bf 110 E und F Schubwaffenanlage. Bedienungsvorschrift – Wa

    Название: Bf 110 E und F Schubwaffenanlage. Bedienungsvorschrift – WaГод / Месяц: 1942 / НоябрьИздательство: Министерство авиацииСтраниц: 30Формат: PDF в RARРазмер: 13,6 МбКачество: ХорошееЯзык: . . .

  • Книга Operators Manual Army Model AH-1G helicopter (TM 55-1520-221-10)

    Operators Manual Army Model AH-1G helicopter (TM 55-1520-221-10)

    Название: Operator's Manual Army Model AH-1G helicopter (TM 55-1520-221-10)Автор: Headquarters, Department of the ArmyИздательство: Headquarters, Department of the ArmyГод: 1967Страниц: 257Формат: PDF . . .


Вы не зарегистрированы!

Если вы хотите скачивать книги, журналы и аудиокниги бесплатно, без рекламы и без смс, оставлять комментарии и отзывы, учавствовать в различных интересных мероприятиях, получать скидки в книжных магазинах и многое другое, то Вам необходимо зарегистрироваться в нашей Электронной Библиотеке.

Отзывы читателей


Ой!

К сожалению, в нашей Бесплатной Библиотеке пока нет отзывов о Книге Программирование графики для Windows - Фень Юань.. Помогите нам и другим читателям окунуться в сюжет Книги и узнать Ваше мнение. Оставьте свой отзыв или обзор сейчас, это займет у Вас всего-лишь несколько минут.