342______________________________________________Глава 5

for(int i = 1; i <=10; i++)
{

switch (i)
(
case 1:Image4->Canvas->Brush->Color = clBlack;

break;

case 2:Image4->Canvas->Brush->Color = clAqua;

break;

case 3:Image4->Canvas->Brush->Color = clBlue;

break;

case 4:Image4->Canvas->Brush->Color = clFuchsia;

break;

case 5:Image4->Canvas->Brush->Color = cIGreen;

break;

case 6:Image4->Canvas->Brush->Color = cILime;

break;

case 7:Image4->Canvas->Brush->Color = cIMaroon;

break;

case 8:Image4->Canvas->Brush->Color = cIRed;

break;

case 9:Image4->Canvas->Brush->Color = clYellow;

break;

case 10:Image4->Canvas->Brush->Color = clWhite;

}
Image4->Canvas->Rectangle((i-1)*HW,0,i*HW,Image4->Height) ;

t

// рисование креста на холсте — только для тестирования
Image3->Canvas->MoveTo(0,0) ;

Image3->Canvas->LineTo(Image3->Width,Image3->Height) ;

Image3->Canvas->MoveTo(0,Image3->Height);

Image3->Canvas->LineTo(Image3->Width,0) ;

BitMap->Assign(Image3->Picture) ;

Обработчик длинный, но смысл его достаточно прост. Сначала задаются свой
ства кисти окон основного (Imagel) и вспомогательного (Image2) цветов: черный
и белый. Окна заливаются соответствующим цветом с помощью функции FillRect.
После этого формируется палитра цветов: для каждого элемента палитры задается
свой цвет и элемент заполняется этим цветом с помощью функции Rectangle. За-
тем на холсте Image3 рисуется крест (рис. 5.11 а). Он имеет чисто демонстрациоп
ный характер, чтобы можно было протестировать программу на простом изображс
нии. В реальной программе этот рисунок не нужен и, если хотите, можно эти опо
раторы не писать. В конце нарисованное на канве сохраняется в объекте BitMap
методом Assign.

11. В обработчик события формы OnDestroy запишите оператор

BitMap->Free() ;

который освобождает память при закрытии приложения.

12. Для подраздела меню Открыть в обработчик включите операторы:

if (OpenPictureDialogl->Execute() ) (

Image3->Picture->LoadFromFile(OpenPictureDialogl->FileName);

BitMap->Assign(Image3->Picture) ;

}

Эти операторы загружают в компонент Image3 файл изображения, который
выбирает в диалоге пользователь, и запоминают изображение в BitMap.

13. Для подраздела меню Отменить в обработчик включите оператор:

Image3->Picture->Assign(BitMap);