51345

Рисование в C++ Builder

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: Написать программу, рисующую изображение по заданному на занятии образцу. Задание для варианта – рисование дома.

Русский

2014-02-09

74 KB

22 чел.

Лабораторная работа 3

Рисование в C++ Builder

Выполнил: Шуклецов М.А.

 ФРТ, гр. 2106

Цель работы: Написать программу, рисующую изображение по заданному на занятии образцу. Задание для варианта – рисование дома.

Общий вид программы следующий:

Здесь мы видим следующие элементы управления:

«Рисовать» - собственно по нажатию на кнопку рисуется изображение

Код программы:

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

#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::Button1Click(TObject *Sender)

{

//Рисование неба

Canvas->Brush->Color=(TColor)RGB(0,150,255);  //Выбор цвета пера

Canvas->FloodFill(Width/2,Height/2, NULL, fsBorder);  //Заполнение экрана цветом

// Рисование травы(Широкая линия)

Canvas->Pen->Color=(TColor)RGB(150,255,0);  

Canvas->Pen->Width=200;     //Толщина пера

Canvas->MoveTo(0,Height-100);    //Переместить перо в точку

 Canvas->LineTo(Width,Height-100);    //Провести линию до точки

 // Рисование дома

Canvas->Brush->Color=(TColor)RGB(255,0,0);

TRect tRect(Width/2,Height-200,200,200);   //tRect с координатами

Canvas->FillRect(tRect);     //заполнение tRect цветом

 //Рисование крыши(треугольник) через TPoint с заданием координат каждой точки

Canvas->Brush->Color=(TColor)RGB(255,0,0);

Canvas->Pen->Width=10;

TPoint tPoints[3];   //Объявление точек

tPoints[0].x = 150;   //Задание координат

tPoints[0].y = 200;

tPoints[1].x = 320;

tPoints[1].y = 50;

tPoints[2].x = 500;

 tPoints[2].y = 200;

tPoints[3].x = 150;

tPoints[3].y = 200;

  Canvas->Polyline(tPoints,3);  //Соединение точек

//Рисование солнца(круг)

Canvas->Brush->Style=bsHorizontal;    //Стиль пера

Canvas->Pen->Color = (TColor)RGB(255,255,0);

Canvas->Pen->Width=50;

Canvas->Arc(0,0,50,50,250,0,250,0);   //Рисование круга

}

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

Вывод: Мы научились рисовать через Canvas на форме произвольные изображения.


 

А также другие работы, которые могут Вас заинтересовать

60495. Развитие Теории урока в советской дидактике периода середины 50-х - середины 60-х годов 163.5 KB
  Степашко представляет большой интерес изучение теории и практики урока периода оттепели так как постсоветское время является известным преемником зародившихся в те годы процессов демократизации и гуманизации общества...
60497. Психологічна готовність дитини до навчання у школі 235 KB
  Вступна частина Сьогодні ми зібралися щоб краще пізнати себе своїх учнів навчитися знаходити індивідуальний підхід до всіх учнів допомагати їм у складний адаптаційний період. Вправа Знайомство Мета : сприяти знайомству учасників створити комфортну атмосферу сприяти згуртованості групи. Час: 15 хвилин. Хід вправи: тренер пропонує учасникам написати на бейджику своє імя або те яким вони б хотіли щоб їх називали у групі.