Оглавление
Введение
Часть I. Graphics Device Interface (GDI)
Глава 1. Программирование на Windows API
Дескрипторы, или особенность доступа к объектам Windows
Описание класса главного окна
Регистрация класса окна
Создание экземпляра окна
Отображение окна
Организация цикла обработки сообщений
Оконная процедура
Отправка сообщений
Листинг программы
Дочерние окна
Субклассирование
Глава 2. Контекст графического устройства
Дескриптор контекста для экрана и печатающих устройств
Контекст окна приложения
Освобождение дескриптора контекста
Контекст в памяти (совместимый контекст)
Доступ к стандартным объектам контекста
Доступ к текущему объекту контекста
Информационный контекст
Восстановление состояния контекста
Управление объектами GDI
Разработка хранителя экрана
Приложение. Функция GetDeviceCaps()
Глава 3. Управление устройствами видеовывода
Сбор информации об устройствах видеовывода
Изменение настроек экрана
Глава 4. Кисти
Стандартные кисти
Атрибуты кисти, структура TLogBrush
Создание логической кисти
Глава 5. Перья
Стандартные перья GDI
Косметическое перо
Геометрическое перо
Глава 6. Линии и кривые
Позиционирование пера
Линии
Дуги
Кривые
Глава 7. Простейшие геометрические фигуры и заливка областей
Функции определения прямоугольных областей
Заливка прямоугольной области
Простейшие геометрические фигуры
Режим заполнения сложной области
Имитация элементов управления
Имитация фокуса ввода
Вывод заголовка окна
Пассивное состояние элемента управления
Глава 8. Траектории
Создание траектории
Вывод траектории
Преобразование траектории в набор отрезков
Анализ траектории
Преобразование траектории в регион
Глава 9. Регионы
Создание региона
Вывод региона
Операции с регионами
Объединение регионов
Преобразование региона в прямоугольный регион
Получение информации о регионе
Глава 10. Отсечение и регионы контекста устройства
Окно нестандартной формы
Обращение к регионам контекста устройства
Определение региона отсечения
Проверка вхождения в регион отсечения
Определение метарегиона
Перерисовка региона
Глава 11. Системы координат и режимы отображения
Взаимные преобразования координат
Общие характеристики режимов отображения
Настройка страничных координат и координат устройства
Метрические режимы отображения
Пользовательские режимы отображения
Глава 12. Мировые координаты и аффинные преобразования
Перевод контекста в мировые координаты
Аффинные преобразования на плоскости
Пример "Стрелочные часы"
Глава 13. Представление цвета в RGB-модели
Хранение данных о цвете в памяти
Определение характеристик цвета контекста устройства
Макросы
Работа с отдельным пикселом
Системные цвета
Альтернативные цветовые модели
Глава 14. Цветовые палитры
Перевод дисплея в 8-битный режим
Структура палитры
Макросы для работы с палитрой
Системная палитра
Логическая палитра
Сообщения, связанные с изменением палитры
Поиск цвета в палитре
Глава 15. Аппаратно-зависимые растры
Представление монохромного DDB в памяти
Создание DDB
Загрузка растра из ресурса
Универсальная функция отображения битового образа
Глава 16. Аппаратно-независимые растры
Формат DIB-растра и файла BMP
Отображение DIB-растра
Пример загрузки образа DIB из файла BMP
Перенос пикселов между DIB и DDB
DIB-секция
Пример загрузки образа DIB из файла BMP с помощью DIB-секции
Глава 17. Растровые операции
Участники растровых операций
Бинарные растровые операции, ROP2
Тернарные растровые операции
Кватернарные операции, функция MaskBlt
Прозрачность
Глава 18. Расширенный формат метафайла, EMF
Структура метафайла
Загрузка метафайла из файла
Создание расширенного метафайла
Размещение метафайла в памяти
Копирование метафайла
Построчное воспроизведение метафайла
Комментарий к метафайлу
Глава 19. Шрифты
Набор символов
Ключевые метрики логического шрифта
Описание логического шрифта, структура TLogFont
Сбор информации об установленных шрифтах
Доступ к системным шрифтам
Логический шрифт
Инсталляция и удаление шрифта
Глава 20. Вывод текста
Простейшие приемы вывода текста
Управление выводом текста средствами контекста
Приемы форматирования текста
Дополнительные эффекты при выводе текста
Глава 21. Альфа-наложение и градиентная заливка
Альфа-наложение
Градиентная заливка области
Часть II. Графика в VCL
Глава 22. Визуальная библиотека компонентов Delphi
Концепция ООП и опорные классы VCL
Простейшие графические объекты VCL
Глобальный объект "экран" - класс TScreen
Глобальный объект "монитор" - класс TMonitor
Глава 23. Холст VCL - класс TCanvas
Линии и кривые
Простейшие геометрические фигуры
Заливка области
Вывод текста
Работа с холстом в многопоточном режиме
Глава 24. Растровые и векторные изображения в VCL
Класс TGraphic
Иконка - класс TIcon
Растровое изображение - класс TBitmap
Метафайл - класс TMetafile
Класс TJPEGImage
Хранилище изображения - класс TPicture
Глава 25. Коллекционируем изображения
Контейнер изображений, класс TImageList
Экспорт пиктограмм из контейнера
Взаимодействие с элементами управления
Глава 26. Графические элементы управления VCL
Класс TGraphicControl
Изображение, компонент TImage
Фигура, компонент TShape
Область для рисования, компонент TPaintBox
Разделитель, компонент TSplitter
Рельефная панель, компонент TBevel
Быстрая кнопка, компонент TSpeedButton
Метка, компонент TLabel
Глава 27. Организация работы с принтером
Работа с принтером средствами Windows
Технические характеристики принтера
Описание принтера в Delphi, класс TPrinter
Печать многострочного текста
Печать изображений
Окно предварительного просмотра
Преобразование цветного изображения для печати на монохромном принтере
Диалог с принтером
Часть III. GDI+
Глава 28. Введение в GDI+
Мифы и реальность
Подготовка к работе
Соглашение об именовании классов GDI+ в проектах Delphi
Основной объект - холст GDI+
Представление цвета в GDI+
Структуры определения координат и размеров
Отладка проектов GDI+
Глава 29. Кисти GDI+
Сплошная кисть TGPSolidBrush
Узорная кисть TGPHatchBrush
Текстурная кисть TGPTextureBrush
Аффинные преобразования кистей
Кисть с линейной градиентной заливкой TGPLinearGradientBrush
Градиентная кисть сложной формы TGPPathGradientBrush
Глава 30. Перья GDI+
Создание пера
Цвет и толщина пера
Стиль пера
Наконечники пера
Стык линий
Расслоение пера
Глава 31. Траектории GDI+
Траектория, класс TGPGraphicsPath
Последовательный просмотр траектории, класс TGraphicsPathIterator
Глава 32. Регионы GDI+
Регион, класс TGPRegion
Холст GDI+ и регион отсечения
Глава 33. Графические примитивы и заливка областей в GDI+
Прямые и ломаные линии
Кривые
Простейшие фигуры
Глава 34. Координатные системы и преобразования в GDI+
Страничная система координат в GDI+
Мировые координаты, матрица TGPMatrix
Мировые преобразования, класс TGPGraphics
Глава 35. Изображения в GDI+
Кодеры и декодеры изображений
Класс TGPImage
Роль хоста при выводе рисунков, метод DrawImage
Глава 36. Метаданные EXIF
Чтение метаданных EXIF
Редактирование метаданных
Миниатюра изображения
Глава 37. Особенности работы с битовыми образами и метафайлами
Битовые образы, класс TGPBitmap
Метафайл, класс TGPMetafile
Глава 38. Работа со шрифтами в GDI+
Шрифт, класс TGPFont
Семейство шрифтов, класс TGPFontFamily
Коллекции шрифтов
Глава 39. Операции с текстом в GDI+
Методы TGPGraphics по выводу текста
Форматирование текстовой строки, класс TGPStringFormat
Вывод символа в точной позиции
Исследование строки
Глава 40. Качество вывода и коррекция цвета
Сглаживание
Порядок наложения
Интерполяция растра
Повышение качества вывода текста
Сохранение состояния холста GDI+
Коррекция цвета, класс TGPImageAttributes
Заключение
Литература
Алфавитный указатель