kc.c
来自「source 为程序源代码文件目录 exe 为可执行文件目录 pics 为所」· C语言 代码 · 共 77 行
C
77 行
#include <stdio.h>#include <stdlib.h>#include <memory.h>#include "hdr.h"struct bmphdr *hdr;unsigned char *bitmap;char buf[2048], crlf[2] = { 0x0d, 0x0a };int main(int argc, char *argv[]){ int i, j, k, nr_pixels; FILE *fp, *fpnew; if (argc != 3) { printf("Usage: %s <file_from> <file_to>\n", argv[0]); exit(1); } hdr = get_header(argv[1]); if (!hdr) exit(1); fp = fopen(argv[1], "rb"); if (!fp) { printf("File open error!\n"); exit(1); } fseek(fp, hdr->offset, SEEK_SET); nr_pixels = hdr->width * hdr->height; bitmap = malloc(nr_pixels); fread(bitmap, nr_pixels, 1, fp); fclose(fp); for (i = 0; i < nr_pixels; i++) if (bitmap[i] < 128) bitmap[i] = bitmap[i] * 2; else bitmap[i] = 255; fpnew = fopen(argv[2], "wb+"); if (!fpnew) { printf("File create error!\n"); exit(1); } fwrite(hdr->signature, 2, 1, fpnew); fwrite(&hdr->size, 4, 1, fpnew); fwrite(hdr->reserved, 4, 1, fpnew); fwrite(&hdr->offset, 4, 1, fpnew); fwrite(&hdr->hdr_size, 4, 1, fpnew); fwrite(&hdr->width, 4, 1, fpnew); fwrite(&hdr->height, 4, 1, fpnew); fwrite(&hdr->nr_planes, 2, 1, fpnew); fwrite(&hdr->bits_per_pixel, 2, 1, fpnew); fwrite(&hdr->compress_type, 4, 1, fpnew); fwrite(&hdr->data_size, 4, 1, fpnew); fwrite(&hdr->resol_hori, 4, 1, fpnew); fwrite(&hdr->resol_vert, 4, 1, fpnew); fwrite(&hdr->nr_colors, 4, 1, fpnew); fwrite(&hdr->important_color, 4, 1, fpnew); if (hdr->offset > 54) fwrite(hdr->info, hdr->offset - 54, 1, fpnew); fwrite(bitmap, nr_pixels, 1, fpnew); fclose(fpnew); free(hdr); free(bitmap); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?