Читайте также:
|
|
Для формирования сложных изображений используют битовые образы. Битовый образ — это, как правило, небольшая картинка, которая находится в памяти компьютера.
Сформировать битовый образ можно путем загрузки из 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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Схема последовательного технологического процесса | | | Вращение графического образа |