Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Фолианты
  
Основная

Книжная полка
Обзоры и рецензии

Библиотека примеров
Сетевые библиотеки


Издательства
Интернет-магазины


Поиск книг
Тематический каталог книг

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
 
 03:58 Iron_Snake
 03:58 Всеволод Леонов
 03:57 Void
 03:57 eugeni
 03:57 riff
 03:56 Сергей Перовский
 03:56 Geo
 03:56 pаndа
 03:55 Cep
 03:53 paramedic
 03:52 Mightison
 03:51 Aristarh Dark
 03:46 Green
 03:43 Nemo
 03:39 Kast2K
 
 
Во Флориде и в Королевстве сейчас  03:59[Войти] | [Зарегистрироваться]
К списку
Программирование графики для Windows
Юань Ф.
Издательский дом «Питер».
  


Мнение о книге на Королевстве...

Все дополнительные материалы предоставлены издательством специально для раздела «Библиотека».
«Королевство Delphi» благодарит за помощь Издательский дом «Питер».


Примеры к книге
  • fengyuan01.rar 489K
  • fengyuan02.rar 489K
  • fengyuan03.rar 489K
  • fengyuan04.rar 489K
  • fengyuan05.rar 358K

    Главы из книги


    Содержание:

    Содержание

    Благодарности
    Введение
    О чем эта книга
    Как организована эта книга
    Как читать эту книгу
    Что находится на компакт-диске
    Что дальше?
    От издательства

    Глава 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
    От Win32 GDI API к системным функциям механизма GDI
    Архитектура DirectX
    Компоненты DirectX
    Архитектура DirectDraw
    Архитектура системы печати
    Клиент спулера Win32
    Служба спулера
    Маршрутизатор спулера
    Провайдер печати
    Процессор печати
    Языковой монитор и монитор порта
    Процесс спулера изнутри
    Графический механизм
    Системные функции графического механизма
    Механизм графической визуализации
    Структуры данных графического механизма
    Преобразование в примитивы
    Шрифтовые драйверы
    Драйверы экрана
    Драйвер видеопорта и мини-драйвер видеопорта
    Назначение драйвера экрана
    Инициализация драйвера экрана
    Вывод на поверхность, перехват и возврат
    Дополнительные возможности драйвера
    Поддержка DirectDraw/Direct3D на уровне драйвера экрана
    Драйверы принтеров
    Управляющие драйверы принтеров от Microsoft
    Графическая библиотека DLL драйвера принтера
    Драйвер принтера для вывода документа HTML
    Итоги
    Примеры программ
    Глава 3. Внутренние структуры данных GDI/DirectDraw
    Манипуляторы и объектно-ориентированное программирование
    Класс и объект
    Инкапсуляция и маскировка реализации
    Указатели и манипуляторы
    Тождественное отображение
    Табличное отображение
    Когда манипулятора недостаточно
    Расшифровка манипуляторов объектов GDI
    Манипуляторы стандартных объектов - константы
    HGDIOBJ не является указателем
    Максимальное количество манипуляторов GDI на уровне процесса - 12 000
    Максимальное количество манипуляторов GDI на уровне системы - 16 384
    Часть HGDIOBJ содержит индекс
    Часть HGDIOBJ содержит тип объекта GDI
    Поиск таблицы объектов GDI
    Расшифровка таблицы объектов GDI
    Указатель pKernel ссылается на выгружаемый пул
    Поле nCount иногда используется как счетчик выбора объектов
    Поле nProcess связывает манипулятор GDI с конкретным процессом
    nUpper: дополнительная проверка
    nType: внутренний тип объекта
    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
    Отслеживание COM-интерфейсов DirectDraw
    Таблица виртуальных функций
    Определение DirectDraw API
    Модификация таблицы виртуальных функций
    Отслеживание системных вызовов GDI
    Отслеживание интерфейса DDI
    Итоги
    Примеры программ
    Глава 5. Абстракция графического устройства
    Современные видеоадаптеры
    Кадровый буфер
    Формат пикселов
    Двойная буферизация, z-буфер и текстуры
    Аппаратное ускорение
    Экранное устройство и перечисление режимов
    Контекст устройства
    Создание контекста устройства
    Получение информации о возможностях устройства
    Атрибуты в контексте устройства
    Связь контекста устройства с окном
    Графический вывод в многооконной среде
    Получение контекста устройства, связанного с окном
    Общий контекст устройства
    Классовый контекст устройства
    Закрытый контекст устройства
    Родительский контекст устройства
    Прочие контексты устройств
    Информационный контекст устройства
    Совместимый контекст устройства
    Метафайловый контекст устройства
    Формальное представление контекста устройства
    Пример: родовой класс рамочного окна
    Класс панели инструментов
    Класс строки состояния
    Класс холста
    Класс рамочного окна
    Тестовая программа
    Пример программы: графический вывод в контексте устройства
    Обновляемый регион окна
    Сообщение WM_PAINT
    Наглядное представление сообщений перерисовки окна
    Итоги
    Примеры программ
    Глава 6. Системы координат и преобразования
    Физическая система координат
    Система координат устройства
    Страничная система координат и режимы отображения
    Режим отображения MM_TEXT
    Режимы отображения MM_LOENGLISH и MM_HIENGLISH
    Режимы отображения MM_LOMETRIC и MM_HIMETRIC
    Режим отображения MM_TWIPS
    Режим отображения MM_ISOTROPIC
    Режим отображения MM_ANISOTROPIC
    Базовые точки окна и области просмотра
    Другие функции окна и области просмотра
    Мировая система координат
    Аффинные преобразования
    Функции мировых преобразований в Win32 API
    Использование мировых преобразований
    Использование систем координат
    Реализация преобразований в GDI
    Пример программы: прокрутка и масштабирование
    Игра го в классе KScrollCanvas
    Итоги
    Примеры программ
    Глава 7. Пикселы
    Объекты GDI, манипуляторы и таблица объектов
    Хранение объектов GDI
    Таблица объектов GDI
    Манипулятор объекта GDI
    API объектов GDI
    Обнаружение утечки объектов GDI
    Отсечение
    Конвейер отсечения
    Простые регионы
    Регион отсечения
    Метарегион
    Пять регионов контекста устройства
    Наглядное представление регионов в контексте устройства
    Цвет
    Цветовое пространство RGB
    Цветовое пространство HLS
    Индексируемые цвета и палитры
    Нетривиальные возможности
    Вывод пикселов
    Пример: множество Мандельброта
    Итоги
    Примеры программ
    Глава 8. Линии и кривые
    Бинарные растровые операции
    Режим заполнения фона и цвет фона
    Перья
    Объект логического пера
    Стандартные перья
    Простые перья
    Расширенные перья
    Получение информации о логических перьях
    Класс для работы с объектами перьев GDI
    Линии
    Кривые Безье
    PolyDraw
    Альтернативное определение кривых Безье
    Дуги
    Определение дуги в градусах: функция AngleArc
    Рисование дуг пером со стилем PS_INSIDEFRAME
    Преобразование дуг в кривые Безье
    Траектории
    Построение траектории
    Получение информации о траектории
    Преобразование объекта траектории
    Графические операции с использованием траекторий
    Преобразование пути в регион
    Пример: рисование нестандартных стилевых линий
    Итоги
    Пример программы
    Глава 9. Замкнутые области
    Кисти
    Объект логической кисти
    Стандартные кисти
    Пользовательские кисти
    Кисти системных цветов
    Структура LOGBRUSH
    Прямоугольники
    Прямоугольник как структура данных
    Рисование прямоугольников
    Прорисовка границ и элементов управления
    Эллипсы, секторы, сегменты и закругленные прямоугольники
    Многоугольники
    Режим заполнения многоугольников
    Замкнутые траектории
    Регионы
    Создание объекта региона
    Операции с объектами регионов
    Прорисовка регионов
    Градиентные заливки
    Градиентная заливка прямоугольников
    Применение градиентных заливок для создания объемных кнопок
    Практическое использование заливок
    Полупрозрачная заливка
    Реализация градиентных заливок в цветовом пространстве HLS
    Радиальные градиентные заливки
    Текстурные и растровые заливки
    Узорные заливки
    Итоги
    Пример программы
    Глава 10. Основные сведения о растрах
    Аппаратно-независимые растры
    Файловый формат BMP
    Упакованный аппаратно-независимый растр
    Разделенный аппаратно-независимый растр
    Класс для работы с DIB
    Отображение DIB в контексте устройства
    StretchDIBits
    Исходный прямоугольник
    Приемный прямоугольник и режимы масштабирования
    Преобразование цветового формата
    Растровая операция
    Пример использования функции StretchDIBits
    SetDIBitsToDevice
    Совместимые контексты устройств
    Аппаратно-зависимые растры
    CreateBitmap
    CreateBitmapIndirect
    GetObject и DDB
    CreateCompatibleBitmap и CreateDiscardableBitmap
    CreateDIBitmap
    LoadBitmap
    Копирование растров между форматами DIB и DDB
    Прямой доступ к массиву пикселов DDB
    Использование DDB-растров
    Отображение DDB-растров
    Использование растров в меню
    Использование растра в качестве фона окна
    CreateDIBSection
    Класс для работы с DIB-секциями
    Функции GetObjectType и GetObject для DIB-секций
    GetDIBColorTable и SetDIBColorTable
    Применение DIB-секций: аппаратно-независимый вывод
    Применение DIB-секций: вывод в высоком разрешении
    Итоги
    Примеры программ
    Глава 11. Нетривиальное использование растров
    Тернарные растровые операции
    Коды растровых операций
    Диаграмма тернарных растровых операций
    Часто используемые растровые операции
    Прозрачные растры
    Функция PlgBlt
    Кватернарные растровые операции: MaskBlt
    Цветовые ключи: TransparentBlt
    Прозрачность без маски
    Прозрачный вывод с использованием геометрических фигур
    Прозрачный вывод с использованием отсечения
    Предварительная подготовка изображений
    Альфа-наложение
    Пример альфа-наложения с постоянным коэффициентом
    Постепенное проявление и исчезновение растров
    Прозрачные окна
    Альфа-канал: класс AirBrush
    Имитация альфа-наложения
    Итоги
    Примеры программ
    Глава 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
    Стандартные диалоговые окна печати
    Создание контекста устройства принтера
    Получение информации о контексте устройства принтера
    Последовательность формирования заданий печати
    Поддержка печати в программах
    Единая логическая система координат
    Имитация внешнего вида страницы
    Одновременный вывод страниц
    Печать нескольких страниц на одном листе
    Родовой класс печати
    Вывод в контексте устройства принтера
    Единицы измерения
    Текст
    Растры
    Печать графики в формате JPEG
    Итоги
    Дополнительная информация
    Примеры программ
    Глава 18. DirectDraw и непосредственный режим Direct3D
    Технология COM
    COM-интерфейсы
    COM-классы
    Создание COM-объекта
    HRESULT
    DirectX и COM
    Общие сведения о DirectDraw
    Интерфейс IDirectDraw7
    Интерфейс IDirectDrawSurface7
    Вывод на поверхности DirectDraw
    Подбор цветов
    Интерфейс IDirectDrawClipper
    Простое окно DirectDraw
    Построение графической библиотеки DirectDraw
    Вывод пикселов
    Вывод линий
    Заливка замкнутых областей
    Отсечение
    Внеэкранные поверхности
    Поддержка прозрачности посредством цветовых ключей
    Шрифт и текст
    Спрайты
    Непосредственный режим Direct3D
    Подготовка среды непосредственного режима Direct3D
    Изменение размеров окна
    Двухэтапный вывод
    Использование Direct3D в окне
    Текстурные поверхности
    Пример использования непосредственного режима Direct3D
    Итоги
    Примеры программ

    Алфавитный указатель

  •   
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Хостинг предоставлен компанией DOTNETPARK (ASP.NET, MS SQL hosting)  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования