Код:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
// задание свойств кисти основного и вспомогательного цветов
Image1->Canvas->Brush->Color = clBlack;
Image2->Canvas->Brush->Color = clWhite;
// заполнение окон основного и вспомогательного цветов
Image1->Canvas->FillRect(Rect(0,0,Image1->Width,
Image1->Height));
Image2->Canvas->FillRect(Rect(0,0,Image2->Width,
Image2->Height));
// задание ширины элемента палитры цветов
int HW = Image4->Width / 10;
// закраска элементов палитры цветов
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 = clGreen;
break;
case 6:Image4->Canvas->Brush->Color = clLime;
break;
case 7:Image4->Canvas->Brush->Color = clMaroon;
break;
case 8:Image4->Canvas->Brush->Color = clRed;
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);
}
// рисование креста на холсте - только для тестирования
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);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
BitMap->Free ();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MOpen1Click(TObject *Sender)
{
if (OpenPictureDialog1->Execute() ) {
Image3->Picture->LoadFromFile(OpenPictureDialog1->FileName);
BitMap->Assign(Image3->Picture) ;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Undo1Click(TObject *Sender)
{
Image3->Picture->Assign(BitMap) ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
if (((TSpeedButton *)Sender)->Down)
BitMap->Assign(Image3->Picture);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
if (((TSpeedButton *)Sender)->Down)
BitMap->Assign(Image3->Picture);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image3MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
// if((Sender == Image4) || SBColor->Down)
// режим установки основного и вспомогательного цветов
{
if (Button == mbLeft)
{
// установка основного цвета
Image1->Canvas->Brush->Color =
((TImage *)Sender)->Canvas->Pixels[X][Y];
Image1->Canvas->FillRect(Rect(0,0, Image1->Width,
Image1->Height) ) ;
}
else
{
// установка вспомогательного цвета
Image2->Canvas->Brush->Color =
((TImage *)Sender)->Canvas->Pixels[X][Y];
Image2->Canvas->FillRect(Rect(0,0,Image2->Width,
Image2->Height));
}
}
//else if (SBBrush->Down)
// режим закраски указанной области холста
{
if (Button==mbLeft)
Image3->Canvas->Brush->Color =
Image1->Canvas->Brush->Color;
else Image3->Canvas->Brush->Color =
Image2->Canvas->Brush->Color;
Image3->Canvas->FloodFill(X, Y,
Image3->Canvas->Pixels[X][Y],fsSurface);
}
}
//---------------------------------------------------------------------------
не статрует ,при этом выбиват----Error in modul unit1:Declaration of class or incorrect.