Sunteți pe pagina 1din 2

Listingul programului:

#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <fstream>
#include <iostream>
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;
initgraph(&gd, &gm, "C:\\TC\\BGI");

//Triunghi
int tpoints[] = {125, 25, 125, 225, 325, 225, 125, 25};
setfillstyle(1, 0);
fillpoly(4, tpoints);

//Sectiune de elipsa
ellipse(350, 180, 0, 90, 150, 100);
int e_points[] = {500, 180, 350, 180, 350, 80};
drawpoly(3, e_points);
setfillstyle(1, 0);

//Poligon cu 8 laturi
int p_points[] = {600, 25,
550, 100,
550, 150,
600, 225,
650, 225,
700, 150,
700, 100,
650, 25,
650, 25,
600, 25
};
drawpoly(9, p_points);
setfillstyle(1, 5);
fillpoly(9, p_points);

//Elipsa
setcolor(15);
ellipse(850, 140, 0, 360, 100, 125);
setfillstyle(1, 1);
floodfill(850, 140, WHITE);

//Sector de cerc
arc(1000, 180, 0, 90, 100);
int points[] = {1000, 80, 1000, 180, 1100, 180};
drawpoly(3, points);
setfillstyle(1, 0);

//Dreptunghi
setfillstyle(1, 2);
bar(125, 300, 415, 500);

//Paralelipiped
int r_points[] = {
550, 300, 450, 500, 700, 500, 800, 300, 800, 300
};
setfillstyle(1, RED);
fillpoly(5, r_points);

//Linie
setcolor(YELLOW);
line(800, 400, 1000, 500);

//Cerc
setcolor(BROWN);
circle(1100, 400, 100);
setfillstyle(1,BROWN);
floodfill(1100,400,BROWN);

getch();
salvare();
cleardevice();
citire();
getch();
closegraph();}

S-ar putea să vă placă și