Пятница, 10.05.2024, 03:05
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Категории раздела
Форма входа
ДРУЗЬЯ САЙТА

Вызвать мастера в Красноярске

8 983 207 5474

8 902 918 9334

8 933 332 3164

---------------------------------

Запчасти бытткхники

  • Велес т.2935600
  • СЦ Близнецов т.2296595
  • Вираж
  • Красраб 110 т.2589503
  • Комплекстур Щорса30 т.2606797
  • Радиодетали

  • Якорный 9 т.2688317
  • Воронова 16 т.2202990
  • Красраб 125а т.2456544
  • Профи т.2702737
  • Дайте две т.+79237713323
  • Электрика

  • Электро +
  • Планета электрика
  • ЗАКЛАДКИ
    Поиск
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Главная » Статьи » C++ Builder » Фрактал

    Фрактал биоморф c++ builder 6 под windows 10

    Фрактал биоморф c++ builder 6 под windows 10

    Можно менять цвет любой области

    Есть возможность сохранить в файл

    Функция SetBkMode(hdc, TRANSPARENT); прозрачность фона текста

    Исходник и исполняемый файл здесь

    =

    =

    =

    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
       jp = new  TJPEGImage();
        // jp->CompressionQuality=60;

    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
    {
        delete jp;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::KUB(void)
    {
       RE1=RE*(RE*RE-3*IM*IM) ;
       IM1=IM*(3*RE*RE-IM*IM) ;
       RE=RE1 ;
       IM=IM1 ;
    }

    //------------------------------------------------------------------
    void __fastcall TForm1::drawBiomorf(void)
    {
       TColor
       col1=ColorBox1->Selected,
       col2=ColorBox2->Selected,
       col3=ColorBox3->Selected,
       col4=ColorBox4->Selected,
       col5=ColorBox5->Selected,
       col6=ColorBox6->Selected,
       col7=ColorBox7->Selected,
       col8=ColorBox8->Selected;

    for(register int X=-320; X<420;  X=X+1  )
    {
       for(register int Y=-240; Y<241;  Y=Y+1  )
       {
              RE=-1+0.008*X ; //
              IM=0+0.008*Y ; //

              register int  V ;
              for( V=0; V<10;  V++  )
              {
              KUB() ;
              KUB() ;
          RE=RE-0.9; IM=IM+0.08;
          //RE=RE-0.9; IM=IM+0.18;
         // RE=sqrt(RE*RE); IM=sqrt(IM*IM); RE=RE-0.9 ; IM=IM+0.08 ;
              if( RE*RE > 5){  goto s ; }
              if( IM*IM > 6){ goto s;  }
              }
            s:
               if ( fabs(RE) < 7 ||  fabs(IM) < 3 )
             {
           if(V==0)   Image1->Canvas->Pixels[X+220][Y+240]=col1;// clGray; //RGB(50,230,50);
           if(V==1)   Image1->Canvas->Pixels[X+220][Y+240]=col2;// clGreen;
           if(V==2)   Image1->Canvas->Pixels[X+220][Y+240]=col3;// clBlue;
           if(V==3)   Image1->Canvas->Pixels[X+220][Y+240]=col4;// clRed;
           if(V==4)   Image1->Canvas->Pixels[X+220][Y+240]=col6;// clMaroon;
           if(V==5)   Image1->Canvas->Pixels[X+220][Y+240]=col7;// clPurple;
           if(V==6)   Image1->Canvas->Pixels[X+220][Y+240]=col8;// clBlack;
              }
            else   {
              Image1->Canvas->Pixels[X+220][Y+240]=col5;//clWhite;
              }
        }
     ProgressBar1->Position=fabs(320+X);
    }
    }
    //-----------------------------------------------------------------------
    void __fastcall TForm1::drawBiomorf1(void)
    {
       TColor
       col1=ColorBox1->Selected,
       col2=ColorBox2->Selected,
       col3=ColorBox3->Selected,
       col4=ColorBox4->Selected,
       col5=ColorBox5->Selected,
       col6=ColorBox6->Selected,
       col7=ColorBox7->Selected,
       col8=ColorBox8->Selected;

    for(register int X=-320; X<420;  X=X+1  )
    {
       for(register int Y=-240; Y<241;  Y=Y+1  )
       {
              RE=-1+0.008*X ; //
              IM=0+0.008*Y ; //

              register int  V ;
              for( V=0; V<10;  V++  )
              {
              KUB() ;
              KUB() ;
          //RE=RE-0.9; IM=IM+0.08;
          //RE=RE-0.9; IM=IM+0.18;
          RE=sqrt(RE*RE); IM=sqrt(IM*IM); RE=RE-0.9 ; IM=IM+0.08 ;
              if( RE*RE > 5){  goto s ; }
              if( IM*IM > 6){ goto s;  }
              }
            s:
               if ( fabs(RE) < 7 ||  fabs(IM) < 3 )
             {
           if(V==0)   Image1->Canvas->Pixels[X+220][Y+240]=col1;// clGray; //RGB(50,230,50);
           if(V==1)   Image1->Canvas->Pixels[X+220][Y+240]=col2;// clGreen;
           if(V==2)   Image1->Canvas->Pixels[X+220][Y+240]=col3;// clBlue;
           if(V==3)   Image1->Canvas->Pixels[X+220][Y+240]=col4;// clRed;
           if(V==4)   Image1->Canvas->Pixels[X+220][Y+240]=col6;// clMaroon;
           if(V==5)   Image1->Canvas->Pixels[X+220][Y+240]=col7;// clPurple;
           if(V==6)   Image1->Canvas->Pixels[X+220][Y+240]=col8;// clBlack;
              }
            else   {
              Image1->Canvas->Pixels[X+220][Y+240]=col5;//clWhite;
              }
        }
     ProgressBar1->Position=fabs(320+X);
    }
    }
    //-----------------------------------------------------------------------
    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    {
      if(RadioButton1->Checked ==true)  drawBiomorf();
      if(RadioButton2->Checked ==true)  drawBiomorf1();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::BitBtn2Click(TObject *Sender)
    {

          AnsiString  FNamet= "biomorf";
          FNamet=FNamet+".jpg";

         Image1->Canvas->Pen->Color= clBlack;
         Image1->Canvas->MoveTo(1,1);
         Image1->Canvas->LineTo(Image1->Width-1,1);
         Image1->Canvas->LineTo(Image1->Width-1,Image1->Height-1 );
         Image1->Canvas->LineTo(1,Image1->Height-1 );
         Image1->Canvas->LineTo(1,1 );

         Image1->Canvas->Font->Color= clBlack;//  clGreen;  clWhite;
         Image1->Canvas->Font->Size =  12 ;
         Image1->Canvas->Font->Style = Image1->Canvas->Font->Style << fsBold;
         HDC hdc = Image1->Canvas->Handle;
         SetBkMode(hdc, TRANSPARENT);
         Image1->Canvas->TextOutA(10 ,10 ,FNamet );
         Image1->Canvas->TextOutA(10 ,30 ,"dokakodm.ucoz.ru" );

        Image1->Canvas->Font->Style = Image1->Canvas->Font->Style >> fsBold;
        Image1->Canvas->Font->Size = 8;
        Image1->Canvas->Font->Color=clBlack;

         AnsiString FNames=FNamet;

         SavePictureDialog1->FileName=FNames;

    if(SavePictureDialog1->Execute()){

        FNames= SavePictureDialog1->FileName;
       jp->Assign( Image1->Picture->Bitmap ) ;
       jp->SaveToFile(FNames) ;
       }

     //  ShowMessage();
    }
    //---------------------------------------------------------------------------

     

    =

    =

    =

    //---------------------------------------------------------------------------

    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <ExtCtrls.hpp>
    #include <Buttons.hpp>
    #include <Dialogs.hpp>
    #include <ExtDlgs.hpp>
    #include <jpeg.hpp>
    #include <math.h>

    #include <ComCtrls.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:    // IDE-managed Components
            TPanel *Panel1;
            TPanel *Panel2;
            TImage *Image1;
            TSavePictureDialog *SavePictureDialog1;
            TBitBtn *BitBtn1;
            TBitBtn *BitBtn2;
            TColorBox *ColorBox1;
            TColorBox *ColorBox2;
            TColorBox *ColorBox3;
            TColorBox *ColorBox4;
            TColorBox *ColorBox5;
            TColorBox *ColorBox6;
            TColorBox *ColorBox7;
            TColorBox *ColorBox8;
            TLabel *Label1;
            TShape *Shape1;
            TProgressBar *ProgressBar1;
            TRadioGroup *RadioGroup1;
            TRadioButton *RadioButton1;
            TRadioButton *RadioButton2;
            void __fastcall BitBtn1Click(TObject *Sender);
            void __fastcall BitBtn2Click(TObject *Sender);
            void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    private:    // User declarations
    public:        // User declarations
           float RE,IM,RE1,IM1 ;
           void __fastcall KUB(void);
           void __fastcall drawBiomorf(void);
           void __fastcall drawBiomorf1(void);
           TJPEGImage *jp ;

            __fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif

    =

    =

    =

    Категория: Фрактал | Добавил: doka (24.08.2020)
    Просмотров: 381 | Рейтинг: 0.0/0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]