Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- #include <time.h>
- #include <string.h>
- #include "gd.h"
- /* Énoncé : 3 int puis 3 string et nommage string en argument ./programme
- argument lors de l'appell de la fonction
- pie -p 40,50,10 -l USA,CANADA,FRANCE Alcooliques.png
- pie -p 40,50,10 -l USA,CANADA,FRANCE -t histo Alcooliques.png
- */
- int main(int argc, char *argv[])
- {
- /*--------Librarie gd-------- */
- gdImagePtr im;
- /* couleurs */
- int black;
- int white;
- int yellow;
- int blue;
- int red;
- int green;
- int purple;
- /*creation image 2400x1600 */
- im = gdImageCreate(2400, 1600);
- /* Allocate the color white (red, green and blue all maximum). */
- black = gdImageColorAllocate(im, 0, 0, 0);
- white = gdImageColorAllocate(im, 255, 255, 255);
- yellow = gdImageColorAllocate(im, 255, 255, 0);
- blue = gdImageColorAllocate(im, 0, 0, 255);
- red = gdImageColorAllocate(im, 255, 0, 0);
- green = gdImageColorAllocate(im, 0, 255, 0);
- purple = gdImageColorAllocate(im, 255, 0, 255);
- /*---------------------------- Dessins ----------------------------------------------*/
- /* CERCLE 360, diamètre = 1200 , contour blanc */
- gdImageArc (im, 1200,800 , 1200, 1200, 0, 360, white);
- /* Camembert_line
- fonction utilisée : void gdImageFilledArc(gdImagePtr im, int cx,int cy,int w,int h,int s,int e,int color,int style)
- int s(start) à int e(end) definira le % de la part.*/
- /******************************************/
- // on récupère l'argument
- int s; // position angle début
- int e; // position angle fin
- int i; // i pour la for
- int n = 6; // nombre d'arcs
- int colors[n]; // tableau de couleurs
- colors[0] = yellow;
- colors[1] = green;
- colors[2] = blue;
- colors[3] = red;
- colors[4] = white;
- colors[5] = purple;
- /*Version loop sur les arcs*/
- for(int j = 1 ; j < argc ; j++) {
- int x = atoi(argv[j]);
- e = (s + x * 360 / 100);
- gdImageFilledArc(im, 1200, 800, 1200, 1200, s, e, colors[j], 100); // draw the arc
- s = e; // update the start angle
- //printf("j : %d x : %d e : %d s : %d\n",j,x,e,s);
- /* liens avec les strings passés en argument*/
- //char *a = argv[j];
- }
- /*récupérer les strings passés en arguments a,b,c nom des pays, N nom du fichier */
- //char* a;
- //char* b;
- //char* c;
- //char* N;
- //a = argv[4];
- //b = argv[5];
- //c = argv[6];
- //N = argv[7];
- /*----------------------------------------------------------------------------------------------*/
- // en "dur"
- // int s1 = 0;
- // int e1 = x * (360/100);
- //gdImageFilledArc(im,1200,800 , 1200, 1200 , s1 , e1 ,yellow, 100);
- //int s2 = e1;
- //int e2 = x * (360/100) + e1;
- //gdImageFilledArc(im,1200,800 , 1200, 1200 , s2 , e2 ,green, 100);
- //int s3 = e2;
- //int e3 = x * (360/100) + e2;
- //gdImageFilledArc(im,1200,800 , 1200, 1200 , s3 , e3 ,blue, 100);
- /*------------------------------------------------------------*/
- /* Output en format PNG. */
- char *filename = argv[7];
- FILE *fp = fopen(filename, "wb");
- // écriture image
- gdImagePng(im, fp);
- // fermeture fichier
- fclose(fp);
- // destruction image
- gdImageDestroy(im);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement