⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 noise.c

📁 source 为程序源代码文件目录 exe 为可执行文件目录 pics 为所有处理好的图片的目录 需要预先安装MinGW MinGW为Mini Gnu for Windows 里面包含gcc
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <memory.h>#include <time.h>#include "hdr.h"struct bmphdr *hdr;unsigned char *bitmap;int main(int argc, char *argv[]){	int i, j, k, nr_pixels;  FILE *fp, *fpnew;		if (argc != 4) {		printf("Usage: %s <file_from> <file_to> <nr_noise>\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);  srand(k);  k = atoi(argv[3]);	for (i = 0; i < k; i++) {		j = rand() * rand() % nr_pixels;		bitmap[j] = 0xff;	}				fpnew = fopen(argv[2], "wb+");		if (fpnew < 0) {		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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -