Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2010, 13:05   #1
1ok
 
Регистрация: 01.02.2009
Сообщений: 8
По умолчанию Графический редактор на с++ билдере

Код:
//---------------------------------------------------------------------------

#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.

Последний раз редактировалось Stilet; 02.02.2010 в 13:09.
1ok вне форума Ответить с цитированием
Старый 02.02.2010, 13:05   #2
1ok
 
Регистрация: 01.02.2009
Сообщений: 8
По умолчанию

Код:
void __fastcall TForm1::Image4MouseDown(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);

}
}
//---------------------------------------------------------------------------

Последний раз редактировалось Stilet; 02.02.2010 в 13:10.
1ok вне форума Ответить с цитированием
Старый 02.02.2010, 14:27   #3
1ok
 
Регистрация: 01.02.2009
Сообщений: 8
По умолчанию

может кто создать графический редактор??на с++ билдере ,мой что то не работает
1ok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графический редактор mopmuk Помощь студентам 4 10.06.2009 16:44
Графический редактор... Alex2009 Мультимедиа в Delphi 12 18.04.2009 23:55
Графический редактор Assassin Общие вопросы C/C++ 6 13.01.2009 10:53
Графический редактор oreke Общие вопросы C/C++ 1 16.10.2008 15:17
Графический редактор UnD)eaD)Snake Софт 10 23.07.2007 07:34