Программирование мультимедиа-систем. Баканов В.М. - 12 стр.

UptoLike

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

- 12 -
for (int iY=200; iY<=400; iY++) // цикл по оси ординат
if (tmpImage->Canvas->Pixels[iX][iY] == clRed) // если цвет пиксела во
// внеэкранном контейнере красный...
Image1->Canvas->Pixels[iX][iY]=clBlue; // то выдать его на экран синим!
delete tmpImage; // уничтожить tmpImage
Перо (Pen) предназначено для отрисовки одномерных графических объек-
тов (линий) и определяется толщиной (Width), цветом (Color) и стилем
(Style):
Canvas->Pen->Width = 1; // толщина в 1 пиксел
Canvas->Pen->Color = clRed; // цвет - красный
Canvas->Pen->Style = psDashDot; // штрих-пунктир
Кисть (Brush) предназначено для отрисовки двумерных графических объ-
ектов и определяется цветом (Color) и стилем (Style):
Canvas->Brush->Color = clGreen; // цвет - зеленый
Canvas->Brush->Style = bsDiagCross; // ‘заливка’ – диагональная решетка
Например процедура отрисовки эллипса (в полный размер Image1) черной
кистью сзаливкойдиагональной решеткой осуществляется так:
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
Image1->Canvas->Brush->Color=clBlack;
Image1->Canvas->Brush->Style=bsDiagCross;
Image1->Canvas->Ellipse(0, 0, Image1->Width, Image1->Height);
}
Методы MoveTo(int X, int Y) и LineTo(int X, int Y) устанавливают текущую
позицию и отрисовывают прямую (текущим пером) в заданную точку соот-
ветственно:
void __fastcall TForm1::FormMouseDown(TObject *Sender,
TMouseButton Button,
TShiftState Shift, int X, int Y)
{ // при щелчке кнопкой мыши отрисовать линию из точки (0,0) в (X,Y)
Image1->Canvas->MoveTo(0, 0);
Image1->Canvas->LineTo(X, Y);
}
Текущая позиция пера определяется функцией PenPos (функция возвраща-
ет структуру типа TPoint, содержащую пиксельные координаты абсциссы и
ординаты точки).
   for (int iY=200; iY<=400; iY++) // цикл по оси ординат
     if (tmpImage->Canvas->Pixels[iX][iY] == clRed) // если цвет пиксела во
                                               // внеэкранном контейнере красный...
      Image1->Canvas->Pixels[iX][iY]=clBlue; // то выдать его на экран синим!
  …
  delete tmpImage; // уничтожить tmpImage

  Перо (Pen) предназначено для отрисовки одномерных графических объек-
тов (линий) и определяется толщиной (Width), цветом (Color) и стилем
(Style):

  Canvas->Pen->Width = 1; // толщина в 1 пиксел
  Canvas->Pen->Color = clRed; // цвет - красный
  Canvas->Pen->Style = psDashDot; // штрих-пунктир

  Кисть (Brush) предназначено для отрисовки двумерных графических объ-
ектов и определяется цветом (Color) и стилем (Style):

  Canvas->Brush->Color = clGreen; // цвет - зеленый
  Canvas->Brush->Style = bsDiagCross; // ‘заливка’ – диагональная решетка

  Например процедура отрисовки эллипса (в полный размер Image1) черной
кистью с ‘заливкой’ диагональной решеткой осуществляется так:

  void __fastcall TForm1::ButtonClick(TObject *Sender)
  {
   Image1->Canvas->Brush->Color=clBlack;
   Image1->Canvas->Brush->Style=bsDiagCross;
   Image1->Canvas->Ellipse(0, 0, Image1->Width, Image1->Height);
  }

  Методы MoveTo(int X, int Y) и LineTo(int X, int Y) устанавливают текущую
позицию и отрисовывают прямую (текущим пером) в заданную точку соот-
ветственно:

  void __fastcall TForm1::FormMouseDown(TObject *Sender,
                          TMouseButton Button,
                          TShiftState Shift, int X, int Y)
  { // при щелчке кнопкой мыши отрисовать линию из точки (0,0) в (X,Y)
   Image1->Canvas->MoveTo(0, 0);
   Image1->Canvas->LineTo(X, Y);
  }

  Текущая позиция пера определяется функцией PenPos (функция возвраща-
ет структуру типа TPoint, содержащую пиксельные координаты абсциссы и
ординаты точки).


                                      - 12 -