vacendak icon

figurapecsept01

vacendak | PRO | 08/08/18 01:09:29 PM UTC | 0 ⭐ | 358 👁️ | Never ⏰ | []
C |

1.6 KB

|

None

|

0 👍

/

0 👎

#include <stdio.h>
 
#define ANCHURA 512
#define ALTURA  512
 
void guardaPGMd(char* nombre, int anchura, int altura, double *pixels,
                double pixel_min, double pixel_max)
                {
                    int i, j, ij, p;
                    FILE* imagen;
 
                    imagen=fopen(nombre,"wb");
                    fprintf(imagen,"P2");
                    fprintf(imagen,"#guardaPGMd %s\n", nombre);
                    fprintf(imagen,"%d %d\n",anchura,altura);
                    fprintf(imagen,"255\n");
 
                    ij=0;
                    for(i=0;i<altura; i++)
                    {
                        for(j=0;j<anchura;j++)
                            {
                                p=(int)(255*(pixels[ij]-pixel_min))/(pixel_max-pixel_min);
                                if(p<0) p=0;
                                if(p>255) p=255;
 
                                fprintf(imagen," %d",p);
 
                                ij++;
                            }
                            fprintf(imagen,"\n");
                    }
                    fclose(imagen);
 
                    return;
                }
int main(int argc, char **argv)
{
    int i, j;
    double x,y,z;
    double f[ALTURA][ANCHURA];
 
    for(i=0;i<ALTURA;i++)
    {
        for(j=0;j<ANCHURA;j++)
        {
            x=2*(double)j/(ANCHURA-1)-1.0;
            y=2*(double)i/(ALTURA-1)-1.0;
            z=1.0/(1+(2*x*x+3*y*y));
 
            f[i][j]=z;
        }
 
    }
 
    guardaPGMd("prueba.pgm",ANCHURA,ALTURA,(double*)f,0,1.0);
 
    return 0;
}

Comments