Thuis
Contacten

    Hoofdpagina


Programmeren in C++ voor beginners

Dovnload 5.04 Mb.

Programmeren in C++ voor beginners



Pagina30/49
Datum25.10.2017
Grootte5.04 Mb.

Dovnload 5.04 Mb.
1   ...   26   27   28   29   30   31   32   33   ...   49

Volgende week


Pixel manipulatie is handig, tot er grotere dingen moeten worden getekend, bijvoorbeeld een poppetje. Volgende week leren we een bestaande bitmap meerdere malen op het scherm te tekenen. Om bijvoorbeeld coordinaten van meerdere objecten op te slaan, kunnen we een TStringGrid gebruiken, maar deze schiet op andere punten te kort. We leren de 'abstracte versie' van het TStringGrid, de std::vector. Ook leren we onze variabelen 'in' ons Form te declareren, inplaats van steeds in een Caption of Tag. We zullen dit 'lid variabelen' of 'member variables' noemen.
    1. Code van Skrienseefer

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

#include

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------#pragma package(smart_init)

#pragma resource "*.xfm"

TForm1 *Form1;

//---------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

Image1->Picture->Bitmap->Width = 256;



Image1->Picture->Bitmap->Height = 256;

Image1->Align = alClient;

}

//---------------------------------------------------------void __fastcall TForm1::Timer1Timer(TObject *Sender)



{

++Timer1->Tag;


const int z = Timer1->Tag;

const int maxx = Image1->Picture->Bitmap->Width;

const int maxy = Image1->Picture->Bitmap->Height;
for (int y=0; y!=maxy; ++y)

{

for (int x=0; x!=maxx; ++x)

{

SetPixel(



Image1,

x,y, //Coordinaat



static_cast<unsigned char>(x+0+z)%256, //Rood

static_cast<unsigned char>(0+y+z)%256, //Groen

static_cast<unsigned char>(x+y+z)%256 //Blauw

);

}



}

Image1->Refresh();



}

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




  1. Dag 5





Een mogelijk eindprogramma van vandaag.
Vandaag leren we onze eigen variabelen 'in' ons Form op te slaan, inplaats van steeds Tags en Captions te gebruiken. Ook leren we een niet-visueel TStringGrid kennen, die veel flexibeler en standaard C++ is, de std::vector. Dan hebben we alle kennis om in plaats van pixels bitmaps te tekenen.
1   ...   26   27   28   29   30   31   32   33   ...   49

  • Code van Skrienseefer
  • Dag 5

  • Dovnload 5.04 Mb.