51345

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

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

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

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

Русский

2014-02-09

74 KB

20 чел.

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


 

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

73692. Особенности анализа радиосигналов в избирательных цепях 118.5 KB
  При решении задач о прохождении сигналов через электрические цепи основное внимание уделяют изменениям информационных параметров сигналов поскольку это связано с проблемой сохранения информации переносимой сигналами. В случаях когда информация заложена непосредственно в форме сигнала случай простых сигналов задача сохранения информации сводится к задаче сохранения формы или спектра сигнала. В общем случае резонансная частота...
73693. Линейные радиоэлектронные цепи с постоянными параметрами 230.5 KB
  Кроме методов, основанных на определении импульсных и переходных характеристик, для анализа свойств линейных цепей широко применяют матричный метод. Его использование основывается на том, что для описания свойств сколь угодно сложной цепи достаточно знать зависимость между ее внешними напряжениями и токами.том входе ; Z21 сопротивление передачи от выхода к входу при разомкнутом выходе. Если в качестве...
73694. Предмет теорії міжнародних відносин 19.59 KB
  Перший завідувач кафедри міжнародних відносин м. Після другої свотової війни сформувалося два напрямки у розумінні міжнародних відносин: Традиционалістський Г.Найбільш яскравий приклад праця оціолог Мерль в своїй праці Соціологія міжнародних відносин.
73697. Генерирование колебаний в электрических цепях 668.5 KB
  В цепях, содержащих обратные связи, могут возникнуть изменяющиеся во времени электрические токи без воздействия на эти цепи внешних управляющих сигналов. Такие цепи называют автоколебательными системами, а колебания - автоколебаниями.
73698. Цели и задачи дисциплины «Экономика ресурсосбережения». Значение ресурсосбережения в современных условиях. Причины современного состояния в сфере ресурсосбережения 55 KB
  Экономика ресурсосбережения наука отражающая формы производственных отношений в процессе рационального использования воспроизводства природных ресурсов и охраны окружающей среды. На протяжении всей своей жизни человечество сталкивалось с ограниченностью ресурсов. С 1996 года в России действуют 2 структуры Комитет по охране окружающей среды Министерство природных ресурсов. Исследование шло по пяти глобальным направлениям мировой динамики ускорение индустриализации быстрый рост населения нарастание голода истощение невозобновляемых...