40
Национальная ассоциация ученых (НАУ) # 4 (31), 2017
ТЕХНИЧЕСКИЕ НАУКИ
ИСПОЛЬЗОВАНИЕ ГРАФИЧЕСКИХ ПРИМИТИВОВ ПРИ ПОСТРОЕНИИ
ИЗОБРАЖЕНИЯ
Ананьева Марина Алексеевна
старший преподаватель Московский технологический университет
МИРЭА г. Москва
USE OF GRAPHICAL OUTPUT PRIMITIVES BY IMAGE ACQUISITION
Ananieva Marina Alekseevna
older teacher of ' Moskow technological university MIREA, MOSCOW
АННОТАЦИЯ
В данной статье рассматривается графическое изображение часов. При изображении часов используются графические примитивы (полигон, прямоугольник, окружность, дуга, прямая линия, хорда). Графические примитивы рассматриваются в [2]. Графические изображения можно использовать при создании какой - нибудь обучающей программы, чтобы описывать какие-то схемы или условные изображения механизмов.
ABSTRACT
In this article considers the image graphics of clock. By image clock uses the graphical output primitives( the polygon, the rectangle, the circle, the arc, the direct line, the chord). The graphical output primitives considers in [2]. The image graphics can use by instantiate some teach program, in order to revive some schemes or conditional image of mechanism.
Ключевые слова: графическое изображение, графические примитивы, часы. Keywords: image graphics, graphical output primitives, clock.
//программа написана на языке программирования C++Builder6
#include <vcl.h>
#pragma hdrstop
#define C_M Canvas->MoveTo
#define C_L Canvas->LineTo
#define C_BC Canvas->Brush->Color
#define C_PC Canvas->Pen->Color
#define C_F Canvas->FloodFill
#define C_E Canvas->Ellipse
#define C_R Canvas->Rectangle
#define C_PW Canvas->Pen->Width
#define R_B RGB(200,200,200)
#define C_A Canvas->Arc
#define C_C Canvas->Chord
#define C_P Canvas->Polygon
#define cW clWhite
#define cY clYellow
#define cN clNavy
#include "Article_18.h"
//---------------------------------------------------------------------------
#pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int mx=30,my=30;
//---------------------------------------------------------------------------
_fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
Национальная ассоциация ученых (НАУ) #4 (31), 2017 41
W
//...........................................................................
void_fastcall TForm1::FormPaint(TObject *Sender)
{int x,y; //sky
Color=(TColor)cW; C_BC=(TColor)RGB(228,245,250); C_R(0,0,14*mx,18*my); TPoint p 1 [4] ,p2[6],p3[7] ,p4 [6];
//drawing
C_PC=(TColor)RGB(243,37,1);
C_BC=(TColor)RGB(243,37,1);
C_R(2.5*mx,6*my,11.5*mx,18*my);
C_PC=(TColor)RGB(182,170,223);
C_BC=(TColor)RGB(182,170,223);
C_E(4*mx,8.2*my,10*mx,14.2*my);
C_PC=(TColor)RGB(255,127,39);
C_BC=(TColor)RGB(255,127,39);
p3[0].x=4*mx;p3[0].y=11.3*my;p3[1].x=5.5*mx;p3[1].y=10.5*my;
p3[2].x=9.25*mx;p3[2].y=13.1*my;p3[3].x=9.6*mx;p3[3].y=12.7*my;
p3[4].x=5.5*mx;p3[4].y=9.7*my;p3[5].x=4.15*mx;p3[5].y=10.3*my;
p3[6].x=4 *mx;p3 [6].y=11.3*my;
C_P(p3,6);
C_A(4*mx,8.2*my,10*mx,14.2*my,4.15*mx,10.3*my,4*mx,11.3*my); C_A(4*mx,8.2*my, 10*mx, 14.2*my,9.6*mx, 12.7*my,9.3*mx, 12.3 *my); //circle
C_A(4*mx,8.2*my,10*mx,14.2*my,4.1*mx,11.3*my,9.25*mx,13.1*my); //house
C_PC=(TColor)cY;C_BC=(TColor)cY;
C_C(4*mx,8.2*my,10*mx,14.2*my,4.7*mx,13.1*my,9.2*mx,13.1*my);
p4[0].x=9.25*mx;p4[0].y=13.1*my;p4[1].x=5.5*mx;p4[1].y=10.5*my;
p4[2].x=4*mx;p4[2].y=11.3*my;p4[3].x=4.15*mx;p4[3].y=12*my;
p4[4].x=4.8*mx;p4[4].y=13.15*my;p4[5].x=9.25*mx;p4[5].y=13.1*my;
C_P(p4,5);
C_PC=(TColor)RGB(255,127,39);C_BC=(TColor)RGB(255,127,39);
//door
p2[0].x=4.8*mx;p2[0].y=13.15*my;p2[1].x=5.5*mx;p2[1].y=13.75*my; p2[2].x=6.2*mx;p2[2].y=14.05*my;p2[3].x=6.2*mx;p2[3].y=12.7*my; p2[4].x=4.8*mx;p2[4].y=12.7*my;p2[5].x=4.8*mx;p2[5].y=12.7*my; C_P(p2,5);
C_A(4*mx,8.2*my, 10*mx, 14.2*my,4.8*mx,13.2*my,6.2*mx,14.1 *my); C_C(4.8*mx,12.3*my,6.2*mx,13.7*my,6.2*mx,12.7*my,4.8*mx,12.7*my);
//windows
C_PC=(TColor)cN;C_BC=(TColor)cN; //1
p1[0].x=4.8*mx;p1[0].y=12*my;p1[1].x=6.2*mx;p1[1].y=12*my;
p1[2].x=5.5*mx;p1[2].y=11.5*my;p1[3].x=4.8*mx;p1[3].y=12*my;
C_P(p1,3);
//2
C_R(7*mx,12.5*my,7.8*mx,13.3*my);
//hands
C_PC=(TColor)0;C_BC=(TColor)0; C_PW=3;
C_M(7*mx,8.5*my);C_L(7*mx,11.2*my);C_L(9.5*mx,11.2*my);
C_E(6.8*mx,11*my,7.2*mx,11.4*my);
C_PW=1;
//background
C_BC=(TColor)RGB(0,102,0);C_R(0,18*mx,14*mx, Height); }
Drawing 1. The clock
Список литературы:
1. Архангельский А.Я., Тагин М.А. Программирование в С++ВшИег 6 и 2006.-М.:
ООО «Бином-Пресс», 2007.-1184с.: ил.
2. Культин Н.Б. Самоучитель С++ВшШег.-СПб.: БХВ-Петербург, 2006.-320с.: ил.
3. Ананьева М.А. Компьютерная графика. Лабораторный практикум, часть 1-М: МИРЭА, 2012.-184с.: ил.
4. Ананьева М.А.
Компьютерная графика. Лабораторный практикум, части 1,2 -М: МИРЭА, 2017.-403 с.: ил.