在c语言中访问设定路径下的bmp图片文件,修改图片中像素RGB信息,从而达到修改图片中颜色的目的。

本程序实现的是将原图片中蜡笔小新的眼睛和嘴巴改了。

#include <head.h>
typedef struct
{unsigned char B;unsigned char G;unsigned char R;
} rgb_t;int main(int argc, const char *argv[])
{rgb_t rgb;FILE *fp;int i = 0;int j = 0;if (argc != 2){fprintf(stderr, "input error\n");fprintf(stderr, "usage:./a.out picturename\n");}if ((fp = fopen(argv[1], "r+")) == NULL)PRINT_ERR("fopen error");fseek(fp, (712 - 190) * 700 * 3, SEEK_SET);while (i < 50){fseek(fp, 290 * 3, SEEK_CUR);while (j < 50){rgb.B = 255;rgb.G = 0;rgb.R = 0;fwrite(&rgb, 3, 1, fp);          j++;}fseek(fp, 75 * 3, SEEK_CUR);j = 0;while (j < 50){rgb.B = 255;rgb.G = 0;rgb.R = 0;fwrite(&rgb, 3, 1, fp);          j++;}fseek(fp, 235 * 3, SEEK_CUR);j = 0;i++;}fseek(fp, 70*700*3, SEEK_CUR);i=0;j=0;fseek(fp, (712-330)*700*3, SEEK_SET);while(i<20){fseek(fp, 290*3, SEEK_CUR);while(j<20){rgb.B = 0;rgb.G = 255;rgb.R = 0;fwrite(&rgb, 3, 1, fp);          j++;}j=0;fseek(fp, 390*3, SEEK_CUR);i++;}return 0;
}

程序运行前图片:

程序运行后图片:

通过c语言访问bmp图片文件修改图片信息相关推荐

  1. C语言实现BMP图片的放大缩小

    C语言实现BMP图片的放大缩小 BMP图片简介:BMP图片是windows操作系统中的标准图像文件格式,可以分为两类:设备相关位图(DDB)和设备无关位图(DIB),使用广泛.它采用位映射存储格式,除 ...

  2. C语言实现bmp图片裁剪

    C语言实现bmp图片裁剪 bmp图片如何储存的,在这篇文章中有很好的介绍:https://blog.csdn.net/weixin_46987028/article/details/109171867 ...

  3. C实现几种对BMP图片文件的处理

    #C实现几种对BMP图片文件的处理 ##什么是BMP文件? BMP(全称Bitmap-File)是Windows操作系统中的一种标准的图像文件格式,能够被多种Windows应用程序所支持.随着Wind ...

  4. c语言编程读取bmp文件数据,c语言读取BMP图片的RGB数据

    BMP图片是位图(bitmap),一般未压缩,要读取BMP文件只要知道它的文件结构就可以了,具体格式可以百度或者google,就不多说了,几个重要的点在代码里面有注释. /** c语言读取位图信息 * ...

  5. 【数据压缩】C语言实现bmp图片序列生成yuv视频

    一.实验要求 1.解析BMP格式文件,获取图像信息 2.转化BMP图像为YUV格式的图像 3.多张BMP图像,转化为YUV视频 二.实验内容 1.获取图片 获取(540*720)的bmp图片若干: 2 ...

  6. c语言给bmp图片加水印

    在 C 语言中,可以使用如下的步骤来给 BMP 图片添加水印: 打开图片文件,并读取图片文件头信息. 读取图片像素数据,并将其存储在内存中. 在内存中修改图片像素数据,实现对图片的修改. 将修改后的图 ...

  7. 让 Android 可以识别BMP图片文件,且目前Android所支持的所有图片格式

      在Android自带到图片浏览器中,默认是不支持BMP格式的图片文件到,通过修改源码使得它支持BMP文件. Android 的图片编码解码是由 Skia 图形库负责的,Skia 通过挂接第三方开源 ...

  8. 用c语言处理bmp开运算,c语言解析bmp图片

    心血来潮想了解下常用图片的格式解析,翻看了一些资料后,发现最简单的是bmp格式,所以先拿它开刀. BMP格式 这种格式内的数据分为三到四个部分,依次是: 文件信息头 (14字节)存储着文件类型,文件大 ...

  9. 【图像处理基础】C语言对bmp图片进行处理

    1.bmp文件的定义 #ifndef IMAGE_H #define IMAGE_H void image_info(FILE* file); void image_save(FILE *file); ...

最新文章

  1. Linux08-日志
  2. oracle11中过程continue,Oracle 11g OCM备考之创建EM与EM登陆异常的处理
  3. android studio中能用的各种转义字符
  4. java调节音量代码_用Java调用VC音量控制程序_java
  5. 外部定义了一个数组,在函数内用指针对其操作
  6. 虚拟化—用新的视角看IT
  7. js tooltip之wz_tooltip使用方法和参数备忘
  8. 最好用的卸载软件工具(Your Uninstaller! PRO)
  9. 软件系统设计-1-软件设计原则
  10. 高级程序员与初级程序员差别在哪里?
  11. C# 下繁体字与简体字的转化
  12. 快递鸟即时查询(PHP)
  13. 奋斗的青春,无悔的时光
  14. android adb 电池电量,adb 查看电池状态信息。详解
  15. “差生”韩寒难以改变的人生戏码
  16. 【笔记】《Federated Learning With Blockchain for Autonomous Vehicles Analysis and Design Challenges》精读笔记
  17. android获取短信中心号
  18. 网络安全笔记--文件上传1(文件上传基础、常见后端验证、黑名单、白名单、后端绕过方式)
  19. Java 父类的引用指向子类对象有啥用 总结
  20. OrangePi3开发板使用指南

热门文章

  1. 微信小程序界面设计小程序中CSS3样式精通课程-渐变Gradients-使用透明度(transparent)
  2. 什么是分布式 (个人理解)
  3. Upload-labs 1-21关 靶场通关笔记(含代码审计)
  4. 最简单的C程序Hello world!详解
  5. 【带你看看JS生态圈的技术趋势】state-of-js 2021 详细解读
  6. LoadRunner Controller监控画面没有数据显示
  7. git切换分支遇到的小问题
  8. PPT神技能,如何使用PPT制作炫酷视频?我想你还是不会吧!
  9. html 打印预览跟实际不一样,excel打印预览与实际不符(excel应对打印结果与画面显示有误差的方法)...
  10. Win10安装nginx笔记