Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdint.h>
- #include <stdio.h>
- int get_height(FILE *image) {
- fseek(image, 22, SEEK_SET);
- int height;
- fread(&height, 4, 1, image);
- return height;
- }
- int get_width(FILE *image) {
- fseek(image, 18, SEEK_SET);
- int width;
- fread(&width, 4, 1, image);
- return width;
- }
- int cprint(char buffer[], int buflen, int red, int green, int blue) {
- return snprintf(buffer, buflen, "\033[48;2;%d;%d;%dm \033[0m", red, green, blue);
- }
- int get_padding(int width) {
- int nat_width = width * 3;
- if (nat_width % 4 == 0) {
- return 0;
- }
- int n2 = nat_width;
- while (n2 % 4 != 0) {
- n2++;
- }
- return n2 - nat_width;
- }
- void write_line(int width, char buffer[], int buflen, FILE *image) {
- int strlength;
- for (int i = 0; i < width; i++) {
- int red = 0;
- int green = 0;
- int blue = 0;
- fread(&blue, 1, 1, image);
- fread(&green, 1, 1, image);
- fread(&red, 1, 1, image);
- strlength = cprint(buffer, buflen, red, green, blue);
- buffer += strlength;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement