Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <iostream>
- int main()
- {
- int s, w, h;
- FILE *in = fopen("kart.bmp.bmp", "rb");
- if (in == NULL) {
- printf("error\n");
- system("pause");
- return -1;
- }
- FILE *out = fopen("out.bmp", "wb");
- if (out == NULL) {
- printf("error\n");
- system("pause");
- return -1;
- }
- fseek(in, 18, SEEK_SET);
- fread(&w, 4, 1, in);
- fseek(in, 22, SEEK_SET);
- fread(&h, 4, 1, in);
- for (int i = 1; i <= (h*w); i++) {
- unsigned char tmp, tmp1;
- tmp = 0;
- tmp1 = 0;
- fseek(in, i, SEEK_SET);
- fread(&tmp, 1, 1, in);
- fseek(out, i, SEEK_SET);
- fwrite(&tmp1, 1, 1, out);
- }
- fseek(in, 2, SEEK_SET);
- fread(&s, 4, 1, in);
- for (int j = (h*w + 1); j <= s-3; j=j + 3) {
- unsigned char tmp, tmp1, tmp2, tmp3;
- tmp = 0;
- tmp1 = 0;
- tmp2 = 0;
- tmp3 = 0;
- fseek(in, j, SEEK_SET);
- fread(&tmp1, 1, 1, in);
- fseek(in, j+1, SEEK_SET);
- fread(&tmp2, 1, 1, in);
- fseek(in, j+2, SEEK_SET);
- fread(&tmp3, 1, 1, in);
- if ((tmp1 != 255) && (tmp2 != 255) && (tmp3 != 255)) {
- tmp = 0;
- tmp1 = 0;
- tmp2 = 0;
- tmp3 = 0;
- }
- fseek(out, j, SEEK_SET);
- fwrite(&tmp1, 1, 1, out);
- fseek(out, j + 1, SEEK_SET);
- fwrite(&tmp2, 1, 1, out);
- fseek(out, j + 2, SEEK_SET);
- fwrite(&tmp3, 1, 1, out);
- }
- fclose(in);
- fclose(out);
- printf("end\n");
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement