Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Работа с битовыми образами. Функции BitBlt() и PlgBlt(). Загрузка и вывод на экран битовых образов. Обработка битовых образов при помощи функции Windows NT MaskBlt().

Читайте также:
  1. AKM Работа с цепочками событий
  2. Compound objects: LOFTING. Работа с сечениями.
  3. DO Часть I. Моделирование образовательной среды
  4. I. УЧЕБНАЯ РАБОТА (нагрузка в академических часах)
  5. II Цель, задачи, функции и принципы портфолио.
  6. II. Моделирование образовательной среды
  7. II. Научно-исследовательская работа и практика

Для формирования сложных изображений используют битовые образы. Битовый образ — это, как правило, небольшая картинка, которая находится в памяти компьютера.

Сформировать битовый образ можно путем загрузки из bmp-файла или из ресурса, а также путем копирования фрагмента из другого битового образа, в том числе и с поверхности формы.

Картинку битового образа (иногда говорят просто "битовый образ") можно подготовить при помощи графического редактора или, если предполагается, что битовый образ будет загружен из ресурса программы, — при помощи редактора ресурсов (например, Borland Resource Workshop). В последнем случае надо создать файл ресурсов и поместить в него битовый образ. Файл ресурсов можно создать и при помощи утилиты Image Editor.

В программе битовый образ — это объект типа TBitmap.

Загрузку картинки из файла обеспечивает метод LoadFromFile, которому в качестве параметра передается имя bmp-файла.

 

После того как битовый образ сформирован (загружен из файла или из ресурса), его можно вывести, например, на поверхность формы или компонента image. Сделать это можно, применив метод Draw к свойству Canvas. В качестве параметров методу Draw надо передать координаты точки, от которой будет выведен битовый образ. Например, оператор

Canvas->Draw(10,20,Plane);

выводит на поверхность формы битовый образ plane — изображение самолета.

Функция BitBlt используется для выполнения операции копирования отдельных битов из области источника изображения в область-получатель. Функция позволяет передавать прямоугольную область из контекста устройства в контекст другого устройства. В случае ошибки функция возвращает 0. В успешном случае возвращается ненулевое значение.

СинтаксисBOOL BitBlt(

HDC hdcDest, // дескриптор целевого DC

int nXDest, // x-коорд. левого верхнего угла целевого прямоугольника

int nYDest, // y-коорд. левого верхнего угла целевого прямоугольника

int nWidth, // ширина целевого прямоугольника

int nHeight, // высота целевого прямоугольника

HDC hdcSrc, // дескриптор исходного DC

int nXSrc, // x-коорд. левого верхнего угла исходного прямоугольника

int nYSrc, // y-коорд. левого верхнего угла исходного прямоугольника

DWORD dwRop // код растровой операции

);

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

СинтаксисBOOL PlgBlt(

HDC hdcDest, // дескриптор целевого DC

CONST POINT *lpPoint, // целевые вершины

HDC hdcSrc, // дескриптор источникового DC

int nXSrc, // x-коорд. левого верхнего угла источника

int nYSrc, // y-коорд. левого верхнего угла источника

int nWidth, // ширина источникового прямоугольника

int nHeight, // высота источникового прямоугольника

HBITMAP hbmMask, // дескриптор битовой маски

int xMask, // x-коорд. левого верхнего угла битовой маски

int yMask // y-коорд. левого верхнего угла битовой маски

);

Функция MaskBlt объединяет данные о цвете исходного и целевого точечных рисунков, используя заданную маску и растровую операцию.

 

СинтаксисBOOL MaskBlt(

HDC hdcDest, // дескриптор целевого DC

int nXDest, // x-коорд. верхнего левого угла цели

int nYDest, // y-коорд. верхнего левого угла цели

int nWidth, // ширина источника и цели

int nHeight, // высота источника и цели

HDC hdcSrc, // дескриптор источникового DC

int nXSrc, // x-коорд. верхнего левого угла источника

int nYSrc, // y-коорд. верхнего левого угла источника

HBITMAP hbmMask, // дескриптор монохромной битовой маски

int xMask, // горизонтальное смещение внутри битовой маски

int yMask, // вертикальное смещение внутри битовой маски

DWORD dwRop // код растровой операции

);

 


Дата добавления: 2015-09-03; просмотров: 237 | Нарушение авторских прав


Читайте в этой же книге: Оконные классы | То получим внутри прямоугольника эллипс. | Добавление курсоров | Добавление битовых образов | Разработка ресурсов меню и акселераторов клавиатуры. Файл заголовков (resource.h). Файл ресурсов (MENU3.RC). Файл приложения (MENU3.CPP). | Idefine IDM_AFILES 501 Idefine IDMJ3FILES 502 Idefine IDM_CFILES 503 Idefine IDM DFILES 504 | FindClose(hFindFile); | Модальные диалоговые окна и класс CDialog | Как вводить данные при помощи окон диалога | ДИАЛОГОВОЕ ОКНО ШРИФТЫ (FONTS) |
<== предыдущая страница | следующая страница ==>
Схема последовательного технологического процесса| Вращение графического образа

mybiblioteka.su - 2015-2024 год. (0.006 сек.)