Documente Academic
Documente Profesional
Documente Cultură
Raport
Lucrare de Laborator Nr. 1
LA DISCIPLINA “GRAFICA PE CALCULATOR”
A verificat: C.Plotnic
Chişinău 2019
Scopul lucrării:
Obținerea cunoștințelor practice în sinteza figurilor grafice elementare.
Sarcina lucrării:
1. Elaborarea un program pentru sintetizarea şi afișarea figurilor grafice conform variantei date.
2. Afișarea simultană a tuturor figurilor sintetizate în diferite porți de vizualizare.
3. În codul scris de prevăzut salvarea imaginii într-un fișier și restabilirea ei ulterioară.
Datele: 6,8,2,4,3,1,7,5,9
Codul:
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <fstream>
#include <iostream>
#include <dos.h>
#include <math.h>
using namespace std;
void salvare() {
int i,j;
ofstream f;
f.open("image.jpg",ios::out);
for(i=0;i<1280;i++)
for(j=0;j<800;j++)
f<< getpixel(i,j)<<" ";
f.close();
}
void citire() {
int i,j;
unsigned int p;
ifstream r;
r.open("image.jpg",ios::in);
for(i=0;i<1280;i++)
for(j=0;j<800;j++){
r>>p;
putpixel(i,j,p);
}
r.close();
}
int main() {
int gd = DETECT;
int gm;
char path[] = "D:\\Univer TI 171 fr\\Anul II\\Semestru II\\GC";
initgraph(&gd, &gm, path);
citire();
line(200,1,200,530);
line(410,1,410,530);
line(1,150,630,150);
line(1,310,630,310);
circle(100,70,60); // cerc (6)
setfillstyle(1, 2);
sector(310, 70, 90, 235, 50, 50);//sector de cerc(8)
setfillstyle(1, 3);
points[sides * 2] = points[0];
points[sides * 2 + 1] = points[1];
drawpoly(sides +1 , points);//polygon(4) cu 10 colturi
line(250,340,400,340);
line(400,340,350,440);
line(350,440,205,440);
line(205,440,250,340);
setfillstyle(1,7);
floodfill(250,439,15); // paralelipiped (5) colorat
ellipse(520,390,90,270,70,50);
line(520,440,520,340);
setfillstyle(1,4);
salvare();
getch();
cleardevice();
getch();
closegraph();
}
Rezultate
Concluzii:
În urma efectuării acestei lucrări practice, am perfectionat lucrul cu biblioteca BGI, în sfera
desenului de figure geometrice de diferite tipuri.