Professional Documents
Culture Documents
#include "Scena_grafica.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner){}
//---------------------------------------------------------------------------
// Se deseneaza un munte:
Canvas->MoveTo(0,100);
TPoint p3[5];
p3[0].x = -1; p3[0].y = 100;
p3[1].x = 50; p3[1].y = 40;
p3[2].x = 200; p3[2].y = 200;
p3[3].x = -1; p3[3].y = 200;
p3[4].x = -1; p3[4].y = 200;
Canvas->Brush->Color = clGray;
Canvas->Pen->Color = RGB(64, 64, 64);
Canvas->Polygon(p3,4);
// Se deseneaza un munte:
Canvas->MoveTo(100,200);
TPoint p4[4];
p[0].x = 100; p[0].y = 200;
p[1].x = 190; p[1].y = 60;
p[2].x = 400; p[2].y = 200;
p[3].x = 100; p[3].y = 200;
Canvas->Polygon(p,3);
// Se deseneaza un munte:
Canvas->MoveTo(300,200);
TPoint p5[4];
p[0].x = 300; p[0].y = 200;
p[1].x = 410; p[1].y = 40;
p[2].x = 550; p[2].y = 200;
p[3].x = 300; p[3].y = 200;
Canvas->Polygon(p,3);
// Se deseneaza un munte:
Canvas->MoveTo(500,200);
TPoint p6[4];
p[0].x = 500; p[0].y = 200;
p[1].x = 700; p[1].y = 80;
p[2].x = 900; p[2].y = 200;
p[3].x = 500; p[3].y = 200;
Canvas->Polygon(p,3);
// Se deseneaza un munte:
Canvas->MoveTo(700,200);
TPoint p7[4];
p[0].x = 700; p[0].y = 200;
p[1].x = 900; p[1].y = 50;
p[2].x = 1000; p[2].y = 200;
p[3].x = 700; p[3].y = 200;
Canvas->Polygon(p,3);
// Se deseneaza un munte:
Canvas->MoveTo(900,200);
TPoint p8[5];
p[0].x = 900; p[0].y = 200;
p[1].x = 1000; p[1].y = 50;
p[2].x = 1028; p[2].y = 90;
p[3].x = 1028; p[3].y = 200;
p[4].x = 900; p[4].y = 200;
Canvas->Polygon(p,4);
// Se deseneaza un brad
Canvas->Pen->Color = clBlack;
Canvas->Brush->Color = clMaroon;
Canvas->Rectangle(850,240,865,265);
Canvas->MoveTo(850,240);
TPoint b3[17];
b3[0].x = 850; b3[0].y = 240;
b3[1].x = 810; b3[1].y = 240;
b3[2].x = 850; b3[2].y = 225;
b3[3].x = 820; b3[3].y = 225;
b3[4].x = 850; b3[4].y = 210;
b3[5].x = 830; b3[5].y = 210;
b3[6].x = 850; b3[6].y = 195;
b3[7].x = 840; b3[7].y = 195;
b3[8].x = 857.5; b3[8].y = 170;
// Se deseneaza un brad
Canvas->Brush->Color = clMaroon;
Canvas->Rectangle(750,250,770,275);
Canvas->MoveTo(750,250);
TPoint b4[21];
b4[0].x = 750; b4[0].y = 250;
b4[1].x = 700; b4[1].y = 250;
b4[2].x = 750; b4[2].y = 230;
b4[3].x = 710; b4[3].y = 230;
b4[4].x = 750; b4[4].y = 210;
b4[5].x = 720; b4[5].y = 210;
b4[6].x = 750; b4[6].y = 190;
b4[7].x = 730; b4[7].y = 190;
b4[8].x = 750; b4[8].y = 170;
b4[9].x = 740; b4[9].y = 170;
b4[10].x = 760; b4[10].y = 150;
// Se deseneaza un brad
Canvas->Brush->Color = clMaroon;
Canvas->Rectangle(800,240,820,280);
Canvas->MoveTo(800,240);
TPoint b[21];
b[0].x = 800; b[0].y = 240;
b[1].x = 750; b[1].y = 240;
b[2].x = 800; b[2].y = 220;
b[3].x = 760; b[3].y = 220;
b[4].x = 800; b[4].y = 200;
b[5].x = 770; b[5].y = 200;
b[6].x = 800; b[6].y = 180;
b[7].x = 780; b[7].y = 180;
b[8].x = 800; b[8].y = 160;
b[9].x = 790; b[9].y = 160;
b[10].x = 810; b[10].y = 140;
// Se deseneaza un brad
Canvas->Brush->Color = clMaroon;
Canvas->Rectangle(700,250,725,300);
Canvas->MoveTo(700,250);
TPoint b2[21];
b2[0].x = 700; b2[0].y = 250;
b2[1].x = 640; b2[1].y = 250;
b2[2].x = 700; b2[2].y = 220;
b2[3].x = 650; b2[3].y = 220;
b2[4].x = 700; b2[4].y = 190;
b2[5].x = 660; b2[5].y = 190;
b2[6].x = 700; b2[6].y = 160;
b2[7].x = 670; b2[7].y = 160;
b2[8].x = 700; b2[8].y = 130;
b2[9].x = 680; b2[9].y = 130;
b2[10].x = 710.25; b2[10].y = 100;
// Se deseneaza moara
Canvas->MoveTo(520,170);
Canvas->Brush->Color = clCream;
Canvas->Rectangle(520,170,590,250);
Canvas->Brush->Color = clGray;
Canvas->Rectangle(515,249,595,260);
Canvas->MoveTo(520,170);
// Se deseneaza acoperisul:
TPoint a[5];
a[0].x = 520; a[0].y = 170;
a[1].x = 505; a[1].y = 170;
a[2].x = 555; a[2].y = 140;
a[3].x = 605; a[3].y = 170;
a[4].x = 520; a[4].y = 170;
Canvas->Brush->Color = clRed;
Canvas->Polygon(a,4);
// Se deseneaza morisca
Canvas->MoveTo(555,185);
TPoint m[13];
m[0].x = 555; m[0].y = 185;
m[1].x = 525; m[1].y = 155;
m[2].x = 535; m[2].y = 148;
m[3].x = 555; m[3].y = 185;
// Se deseneaza pilonii:
Canvas->Pen->Width = 1;
Canvas->Rectangle(210,120,220,371);
Canvas->Ellipse(205,105,225,120);
Canvas->Rectangle(160,185,270,195);
// Se deseneaza funiile:
Canvas->Pen->Width = 4;
Canvas->MoveTo(215,120);
Canvas->LineTo(266,185);
Canvas->MoveTo(215,120);
Canvas->LineTo(164,185);
Canvas->MoveTo(215,120);
Canvas->LineTo(540,345);
Canvas->MoveTo(323,319);
Canvas->LineTo(340,350);
Canvas->MoveTo(102,319);
Canvas->LineTo(95,330);
Canvas->MoveTo(351,319);
Canvas->LineTo(340,350);
// Se deseneaza Drapelul:
Canvas->Pen->Width = 1;
Canvas->Brush->Color = clCream;
Canvas->Rectangle(210,125,220,175);
Canvas->MoveTo(210,125);
TPoint d[8];
d[0].x = 210; d[0].y = 125;
d[1].x = 160; d[1].y = 125;
d[2].x = 135; d[2].y = 160;
d[3].x = 160; d[3].y = 150;
d[4].x = 130; d[4].y = 185;
d[5].x = 160; d[5].y = 175;
d[6].x = 210; d[6].y = 175;
d[7].x = 210; d[7].y = 125;
Canvas->Polygon(d,7);
// Se deseneaza pinza 1:
Canvas->Pen->Width = 2;
Canvas->MoveTo(163,195);
TPoint d2[5];
d2[0].x = 163; d2[0].y = 195;
d2[1].x = 100; d2[1].y = 320;
d2[2].x = 325; d2[2].y = 320;
d2[3].x = 267; d2[3].y = 195;
d2[4].x = 163; d2[4].y = 195;
Canvas->Brush->Color = clCream;
Canvas->Polygon(d2,4);
// Se deseneaza pinza 2:
Canvas->MoveTo(300,180);
TPoint d3[4];
d3[0].x = 270; d3[0].y = 159;
d3[1].x = 350; d3[1].y = 320;
d3[2].x = 525; d3[2].y = 335;
d3[3].x = 270; d3[3].y = 159;
Canvas->Polygon(d3,3);
Canvas->Pen->Width = 2;
Canvas->Ellipse(230,380,260,410);
Canvas->Pen->Width = 1;
Canvas->MoveTo(245,380);
Canvas->LineTo(245,410);
Canvas->MoveTo(230,395);
Canvas->LineTo(260,395);
Canvas->Pen->Width = 2;
Canvas->Ellipse(280,380,310,410);
Canvas->Pen->Width = 1;
Canvas->MoveTo(295,380);
Canvas->LineTo(295,410);
Canvas->MoveTo(280,395);
Canvas->LineTo(310,395);
// Se deseneaza Soarele:
Canvas->Pen->Width = 1;
Canvas->Pen->Color = clYellow;
Canvas->Brush->Color = clYellow;
Canvas->Ellipse(280,40,330,90);
// Se deseneaza un nor:
Canvas->Pen->Color = clWhite;
Canvas->Brush->Color = clWhite;
Canvas->Ellipse(470,40,520,90);
Canvas->Ellipse(490,20,600,110);
Canvas->Ellipse(560,30,650,80);
Canvas->Ellipse(530,40,668,100);
Canvas->Ellipse(540,20,610,50);
}
//---------------------------------------------------------------------------
Rezultatul programului: