51345

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

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

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

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

Русский

2014-02-09

74 KB

18 чел.

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


 

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

42186. ССЛЕДОВАНИЕ ТРЕХФАЗНОЙ ЦЕПИ С ПРИЕМНИКАМИ, СОЕДИНЕННЫМИ ЗВЕЗДОЙ ПРИ НЕОДНОРОДНОЙ НАГРУЗКЕ ФАЗ 172.5 KB
  Опытная проверка соотношений между напряжениями и токами в трехфазной цепи с приемниками соединенными звездой при неоднородной нагрузке фаз. Общие теоретические сведения Общие элементы теории трехфазной системы с приемниками соединенными звездой приведены в описании лабораторной работы №9. Неоднородность нагрузки фаз в трехфазной системе вносит существенные изменения в режим работы трехфазной цепи по сравнению с однородной нагрузкой....
42187. ИССЛЕДОВАНИЕ ТРЕХФАЗНОЙ ЦЕПИ С ПРИЕМНИКАМИ, СОЕДИНЕННЫМИ ТРЕУГОЛЬНИКОМ 296.5 KB
  Положительные направления токов в фазах треугольника принято обозначать по часовой стрелке т. Они будут равны геометрической разности соответствующих фазных токов: 11.2 показаны векторная топографическая диаграмма напряжений и векторная диаграмма токов для симметричной активной нагрузки. Векторная топографическая диаграмма напряжений и векторная диаграмма токов для симметричной активной нагрузки соединенной треугольником.
42188. ИССЛЕДОВАНИЕ АПЕРИОДИЧЕСКОГО И КОЛЕБАТЕЛЬНОГО РАЗРЯДОВ КОНДЕНСАТОРА 325.5 KB
  Исследование процесса разряда конденсатора на активное сопротивление. Определение влияния на разряд конденсатора значения активного сопротивления. Опытное определение величины емкости конденсатора по осциллограмме. Исследование колебательного разряда конденсатора.
42189. ИССЛЕДОВАНИЕ ЭЛЕКТРИЧЕСКОЙ ЦЕПИ С НЕСИНУСОИДАЛЬНЫМИ НАПРЯЖЕНИЯМИ И ТОКАМИ 185 KB
  Разложение несинусоидальной кривой графо-аналитическим способом в ряд Фурье и определение коэффициентов характеризующих несинусоидальную кривую. Определение влияния характера цепи R; RL; RC на форму кривой несинусоидального тока при подключении ее к источнику несинусоидального напряжения. Определение ординат несинусоидальной кривой в m дискретных точках.10 Затем находят соответствующие ординаты кривой f1ωt; f2ωt; f3ωt и заменяют интегралы...
42191. Принцип работы волоконно-оптического датчика (ВОД) магнитного поля и электрического тока 862 KB
  Однако применение различных ВОД электромагнитных полей сдерживается наличием у них относительно высокой чувствительности коэффициента преобразования датчика к температуре обусловленной температурным дрейфом характеристик вещества чувствительного элемента. Чувствительность ВОД к магнитному полю и электрическому току определяется коэффициентом преобразования чувствительного элемента ЧЭ который пропорционален углу Фарадея . Однако увеличение L в Bi12SiO20 может привести к проявлению влияния ряда нелинейных эффектов на магнитооптическую...
42192. Моделирование процесса измерения основных параметров волоконно-оптических трасс по рефлектометрическим данным 291.5 KB
  Если среда в которой распространяется импульс в данном случае оптическое волокно содержит неоднородности то на рефлектограмме появятся изломы и всплески. Как было сказано выше если неоднородности в волокне отсутствуют то рефлектограмма будет представлять из себя прямую с некоторым наклоном. Ступеньки говорит о наличии неоднородности на которой происходит поглощение мощности светового импульса1. Обычно такие неоднородности наблюдаются в местах сварки оптических волокон.
42193. Электрическая цепь с одним источником питания и смешанным соединением элементов 130 KB
  Основные теоретические положения Основными элементами любой электрической цепи являются: а источники электрической энергии электромашинные генераторы аккумуляторные батареи термоэлементы и т. С помощью закона Ома описывается связь между током напряжением и сопротивлением заданного участка цепи . Согласно 1му закону Кирхгофа алгебраическая сумма токов сходящихся в любом узле цепи равна нулю т. Так как при параллельном соединении все элементы находятся под одним и тем же напряжением то используя закон Ома это уравнение можно...
42194. Вимірювання опорів на постійному струмі 115 KB
  Ознайомлення з основними видами та методами вимірювання активних електричних опорів на постійному струмі. Дослідження методичних похибок основних методів вимірювання опорів та шляхи їх усунення. Завдання на вимірювання опорів кожен студент одержує від викладача.