51345

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

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

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

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

Русский

2014-02-09

74 KB

54 чел.

Лабораторная работа 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 на форме произвольные изображения.


 

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

70377. ПРОЕКТНА ДІЯЛЬНІСТЬ У НАВЧАЛЬНО-ВИХОВНОМУ ПРОЦЕСІ ТА УПРАВЛІННІ 169.5 KB
  Слід зауважити що метод проектів започаткував низку важливих ідей. Наше завдання зрозуміти наскільки важливим є впровадження методу проектів у роботі сучасного педагога що нового дозволяє досягнути цей метод.
70378. Обучающее изложение 31.32 KB
  Цель как деятельность учеников: развитие умения письменной речи письменный пересказ прослушанного и зрительно воспринятого текста включающего слова с изученными орфограммами 3ЛР. Планируемые результаты задачи урока: Предметные: воспринимать текст на слух; выбирать наиболее подходящее...
70379. МОДЕРНІЗАЦІЯ ВИХОВНОГО ПРОЦЕСУ У ПОЧАТКОВІЙ ШКОЛІ З МЕТОЮ РОЗВИТКУ КРЕАТИВНОСТІ МОЛОДШИХ ШКОЛЯРІВ 863.5 KB
  Історія і навіть повсякденний досвід дає нам безліч прикладів того, що кожна людина мислить по-своєму. Завжди знаходяться люди, що мислять інакше, ніж інші, уміють глянути на дійсність під іншим кутом зору. Нестандартність, креативність мислення лежить в основі майже усіх винаходів...
70381. СТАТИСТИКА. СТАТИСТИЧНІ ДОСЛІДЖЕННЯ 745.5 KB
  Можна виділити наступні завдання даної роботи: набути навичок роботи з великими масивами даних і навички представлення даних статистичного спостереження у вигляді зручному для сприйняття аналізу і прийняття рішень; освоїти методи виконання оцінок параметрів великих множин за даними...
70383. О хронологических показания Киевской летописи. Хронология событий киевского княжения Всеволода 96.5 KB
  Окончание неудачного вторжения Святослава Ольговича в переяславские владения Андрея Владимировича Лаврентьевская и родственные ей летописи датируют заоутра после битвы между их дружинами а затем добавляют: и на ту нощь загорѣсѧ городъ Переяславль.