Advertisement
Guest User

PINROCA

a guest
Jan 21st, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. void ConverttoGray(FILE *file, PIXEL **pixels, BITMAPFILEHEADER fileHeader, BITMAPINFOHEADER infoHeader, int width, int height){
  2. FILE *convertedfile;
  3. PIXEL **convertedpixels;
  4. PIXEL padd = {0,0,0};
  5. int sizePixel, padding, i, j;
  6.  
  7. sizePixel = getSizePixel();
  8.  
  9. convertedpixels = (struct PIXEL **)malloc(height * sizeof(struct PIXEL*));
  10. for(i = 0; i < height; i++){
  11. convertedpixels[i] = (struct PIXEL *)malloc(width * sizeof(sizePixel));
  12. }
  13. for(i = 0; i < height; i++){
  14. for(j = 0; j < width; j++){
  15. convertedpixels[i][j].blue = (image.pixels[i][j].blue+image.pixels[i][j].green+image.pixels[i][j].red)/3;
  16. convertedpixels[i][j].red = (image.pixels[i][j].blue+image.pixels[i][j].green+image.pixels[i][j].red)/3;
  17. convertedpixels[i][j].green = (image.pixels[i][j].blue+image.pixels[i][j].green+image.pixels[i][j].red)/3;
  18. }
  19. }
  20. convertedpixels = fopen("converted-file-gray.bmp", "wb");
  21. fwrite(&fileHeader, FILE_HEADER_SIZE, 1, convertedpixels);
  22. fwrite(&infoHeader, INFO_HEADER_SIZE, 1, convertedpixels);
  23.  
  24. padding = getPadding(width);
  25.  
  26. for(i = 0; i < height; i++){
  27. fwrite(convertedpixels[i], width, BYTES_PER_PIXEL, convertedpixels);
  28. fwrite(&padd, padding, BYTES_PER_PIXEL, convertedpixels);
  29. }
  30.  
  31. fclose(file);
  32.  
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement