Thuis
Contacten

    Hoofdpagina


Programmeren in C++ voor beginners

Dovnload 5.04 Mb.

Programmeren in C++ voor beginners



Pagina29/49
Datum25.10.2017
Grootte5.04 Mb.

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

Een plaatje vergroten

Een 'plaatje vergroten' kan twee dingen betekenen:

* Het plaatje moet groter op het scherm zichtbaar worden

* De bitmap moet meer pixels gaan bevatten


Beide dingen zijn mogelijk.
Om het plaatje groter op het scherm zichtbaar te maken, zet de Property Stretch op true en maak de Width en Height van TImage zo groot als gewenst. Om het plaatje maximaal groot af te beelden, zet Align op 'alClient'.
De bitmap meer pixels geven is mogelijk door een grotere bitmap in te laden. Maar dit soort bitmaps zouden je programma onnodig groot kunnen maken. Zelf gebruik ik altijd dezelfde 32 bij 32 pixels (witte) bitmap en verander deze van grootte onder run-time. Dit doe ik in het nog magische stukje code dat Kylix automatisch genereerd:
__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

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



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

}
Het stuk code van Kylix wordt aangeroepen bij de aanmaak van ons Form. Later zullen we dit 'de constructor van TForm1' noemen.


    1. Rekenen met unsigned char en int



unsigned char en int worden impliciet ('achter je rug om') geconverteerd naar elkaar.
Als een te hoge int wordt geconverteed naar unsigned char, wordt 'doorgeteld' na 255:
const int i = 256;

const unsigned char c = i;

assert(c==0);


Beter is echter dit toch expliciet te laten zien:
const int i = 256;

const unsigned char c = static_cast<unsigned char>(i);

assert(c==0);






Poeh, wat een boel typewerk, zo'n explicite cast. Geef mij maar het eerste stuk code!






Een cast expliciet maken geeft duidelijk aan dat je een cast doet. Omdat casts een bron van run-time fouten zijn, is het nuttig deze snel op het oog te kunnen vinden.



1   ...   25   26   27   28   29   30   31   32   ...   49

  • Rekenen met unsigned char en int

  • Dovnload 5.04 Mb.