Основы компьютерной графики для программистов. Казанцев А.В. - 62 стр.

UptoLike

Составители: 

Основы компьютерной графики для программистов 62
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
Brush CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt,
CreateHatchBrush, CreatePatternBrush, CreateSolidBrush
Font CreateFont, CreateFontIndirect
Bitmap CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap,
CreateDIBitmap, CreateDIBSection
Region CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect,
CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect
Здесь
Fontшрифт; Bitmapбитовая карта, точечное (растровое) изображение; Region
регион, область, определяющая определенную часть окна, которая должна быть
видима на экране и соответственно невидимую область окна. С помощью регионов
можно создать, например, кнопку овальной или другой произвольной формы. Для
подробного ознакомления с данными объектами следует обратиться к документации.
Пример рисования на окне с использованием объектов пера и
кисти
В этом примере мы изобразим на форме Form1 прямоугольник, граница у которого
нарисована красной линией толщиной 2 пиксела, а закрашен прямоугольник зеленым
цветом. Напомню, что пикселэто точка или элемент растрового изображения на
мониторе, происходит от английского “pixel” – picture element.
Поместите на форму кнопку. Этой третьей кнопке в нашем приложении Delphi даст
название Button3. Создайте обработчик нажатия на
эту кнопку в следующем виде:
procedure TForm1.Button3Click(Sender: TObject);
var
hdc : THandle;
hp,oldhp : HPEN;
hb,oldhb : HBRUSH;
begin
hdc:= GetDC(Form1.Handle);
hp:= CreatePen(PS_SOLID,2,clRed);
hb:= CreateSolidBrush(clGreen);
oldhp:= SelectObject(hdc,hp);
oldhb:= SelectObject(hdc,hb);
Rectangle(hdc,10,10,150,80);
SelectObject(hdc,oldhp);
SelectObject(hdc,oldhb);
deleteObject(hp);
deleteObject(hb);
ReleaseDC(Form1.Handle,hdc);
end;
В начале определяем контекст устройства: hdc:= GetDC(Form1.Handle),
который освобождается в конце процедуры. В функции CreatePen первым параметром
указано, что линии должны быть сплошными: PS_SOLID, второй параметр говорит о
том что толщина линии 2 пиксела, а для установки красного цвета линий
использовалась цветовая константа Delphi
clRed. При установке пера и кисти функция
Основы компьютерной графики для программистов                                                                  62
____________________________________________________________________________________________________________________



Brush                     CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt,
                          CreateHatchBrush, CreatePatternBrush, CreateSolidBrush
Font                     CreateFont, CreateFontIndirect
Bitmap                    CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap,
                          CreateDIBitmap, CreateDIBSection
Region                    CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect,
                          CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect


Здесь Font – шрифт; Bitmap – битовая карта, точечное (растровое) изображение; Region
– регион, область, определяющая определенную часть окна, которая должна быть
видима на экране и соответственно невидимую область окна. С помощью регионов
можно создать, например, кнопку овальной или другой произвольной формы. Для
подробного ознакомления с данными объектами следует обратиться к документации.


Пример рисования на окне с использованием объектов пера и
кисти
В этом примере мы изобразим на форме Form1 прямоугольник, граница у которого
нарисована красной линией толщиной 2 пиксела, а закрашен прямоугольник зеленым
цветом. Напомню, что пиксел – это точка или элемент растрового изображения на
мониторе, происходит от английского “pixel” – picture element.
Поместите на форму кнопку. Этой третьей кнопке в нашем приложении Delphi даст
название Button3. Создайте обработчик нажатия на эту кнопку в следующем виде:
   procedure TForm1.Button3Click(Sender: TObject);
    var
    hdc       : THandle;
    hp,oldhp : HPEN;
    hb,oldhb : HBRUSH;
   begin
               hdc:= GetDC(Form1.Handle);
     hp:= CreatePen(PS_SOLID,2,clRed);
     hb:= CreateSolidBrush(clGreen);
     oldhp:= SelectObject(hdc,hp);
     oldhb:= SelectObject(hdc,hb);
         Rectangle(hdc,10,10,150,80);
       SelectObject(hdc,oldhp);
       SelectObject(hdc,oldhb);
     deleteObject(hp);
     deleteObject(hb);
         ReleaseDC(Form1.Handle,hdc);
   end;
В начале определяем контекст устройства: hdc:= GetDC(Form1.Handle),
который освобождается в конце процедуры. В функции CreatePen первым параметром
указано, что линии должны быть сплошными: PS_SOLID, второй параметр говорит о
том что толщина линии 2 пиксела, а для установки красного цвета линий
использовалась цветовая константа Delphi clRed. При установке пера и кисти функция

http://www.ksu.ru/persons/9134.ru.html