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

UptoLike

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

- 13 -
Метод Draw(int X, int Y, TGraphic* Graphic) отображает графический объ-
ект Graphic в точке с координатами X,Y (левый верхний угол). Метод Fill-
Rect(TRect &Rect) выполняет заливку прямоугольной области Rect цветом,
который задан значением свойства Brush
Color. Метод Draw(int X, int Y,
TGraphic* Graphic) отображает графический объект Graphic в точке с коор-
динатами X,Y (TRect представляет собой структуру, содержащую опреде-
ляющие прямоугольную область целочисленные поля Left, Top, Right, Bottom
в пикселах).
Метод CopyRect(TRect &Dest, TCanvas* Canvas, TRect &Source) копирует
заданную полотном Canvas прямоугольную область Source в прямоугольную
область Dest текущего полотна; режим копирования может быть предвари-
тельно задан свойством CopyMode (например, DrawForm
CanvasCopy-
Mode=cmPatCopy для копирования с логической операцией XOR при смеше-
нии цветов).
Копирование всего изображения из Image в Карман (Clipboard) осуществ-
ляется методом Assign (при этом Карман очищается от предыдущего содер-
жимого):
#include <clipbrd.hpp> // хидер прототипов функций работы с Clipboard
Clipboard->Assign(Image1->Picture);
Обратное копирование требует проверки типа содержимого Кармана с по-
мощью функции HasFormat (предыдущее содержимое Image затирается):
if (Clipboard()->HasFormat(CF_BITMAP)) // если в Кармане именно Bitmap…
Image1->Picture->Assign(Clipboard());
Операция взятия изображения в Карман дополнительно требует очищения
исходного изображения (при этом в качестве цвета заполнения обычно бе-
рется clWindow - фоновый цвет Windows):
void __fastcall TFormMain::CutToClipboard(TObject *Sender)
{ // взять все изображение в Clipboard
Clipboard()->Assign(Image1->Picture);
TRect r = Rect(0, 0, Image1->Width, Image1->Height);
Image1->Canvas->Brush->Color = clWindow; // цвет заливки
Image1->Canvas->FillRect(r); // залить весь Image1 выбранным цветом
}
Работа с Карманом с (прямоугольным) фрагментом изображения осуще-
ствляется с использованием функции CopyRect (режим копирования задается
переменной CopyMode; возможные значения: cmSrcCopy – копирование с
замещением исходного изображения, cmWhiteness - предварительное за-
полнение области копирования белым цветом, cmSrcAnd - копирование с
   Метод Draw(int X, int Y, TGraphic* Graphic) отображает графический объ-
ект Graphic в точке с координатами X,Y (левый верхний угол). Метод Fill-
Rect(TRect &Rect) выполняет заливку прямоугольной области Rect цветом,
который задан значением свойства Brush → Color. Метод Draw(int X, int Y,
TGraphic* Graphic) отображает графический объект Graphic в точке с коор-
динатами X,Y (TRect представляет собой структуру, содержащую опреде-
ляющие прямоугольную область целочисленные поля Left, Top, Right, Bottom
в пикселах).
   Метод CopyRect(TRect &Dest, TCanvas* Canvas, TRect &Source) копирует
заданную полотном Canvas прямоугольную область Source в прямоугольную
область Dest текущего полотна; режим копирования может быть предвари-
тельно задан свойством CopyMode (например, DrawForm → Canvas → Copy-
Mode=cmPatCopy для копирования с логической операцией XOR при смеше-
нии цветов).
   Копирование всего изображения из Image в Карман (Clipboard) осуществ-
ляется методом Assign (при этом Карман очищается от предыдущего содер-
жимого):
  …
  #include  // хидер прототипов функций работы с Clipboard
  …
  Clipboard->Assign(Image1->Picture);

  Обратное копирование требует проверки типа содержимого Кармана с по-
мощью функции HasFormat (предыдущее содержимое Image затирается):

  if (Clipboard()->HasFormat(CF_BITMAP)) // если в Кармане именно Bitmap…
    Image1->Picture->Assign(Clipboard());

  Операция взятия изображения в Карман дополнительно требует очищения
исходного изображения (при этом в качестве цвета заполнения обычно бе-
рется clWindow - фоновый цвет Windows):

  void __fastcall TFormMain::CutToClipboard(TObject *Sender)
  { // взять все изображение в Clipboard
   Clipboard()->Assign(Image1->Picture);
   TRect r = Rect(0, 0, Image1->Width, Image1->Height);
   Image1->Canvas->Brush->Color = clWindow; // цвет заливки
   Image1->Canvas->FillRect(r); // залить весь Image1 выбранным цветом
  }

  Работа с Карманом с (прямоугольным) фрагментом изображения осуще-
ствляется с использованием функции CopyRect (режим копирования задается
переменной CopyMode; возможные значения: cmSrcCopy – копирование с
замещением исходного изображения, cmWhiteness    - предварительное за-
полнение области копирования белым цветом, cmSrcAnd    - копирование с

                                    - 13 -