
实例如下:
#include<iostream>
#include<Windows.h>
using namespace std;
bool isred(BYTE r,BYTE g,byte b){
if(r>g&&r>b) return true;
else return false;
}
void red2green(BYTE& r,BYTE& g,BYTE& b){
BYTE tmp=r;
r=g;
g=tmp;
}
int main(){
FILE *fpin=fopen("flo.bmp","rb+");
if(fpin==NULL){
cout<<"目录里没有输入图"<<endl;
system("pause");
return 0;
}
BITMAPFILEHEADER bitmapfileheader;
BITMAPINFOHEADER bitmapinfoheader;
fread(&bitmapfileheader,sizeof(bitmapfileheader),1,fpin);
fread(&bitmapinfoheader,sizeof(bitmapinfoheader),1,fpin);
if(bitmapfileheader.bfType!='B'+'M'*256){
cout<<"不是bmp格式"<<endl;
fclose(fpin);
system("pause");
return 0;
}
if(bitmapinfoheader.biBitCount!=24){
cout<<"不是24位bmp"<<endl;
fclose(fpin);
system("pause");
return 0;
}
//设置fpout
FILE *fpout=fopen("output.bmp","wb+");
//BITMAPFILEHEADER bitmapfileheader2;
//BITMAPINFOHEADER bitmapinfoheader2;
//bitmapfileheader2=bitmapfileheader;
//bitmapinfoheader2=bitmapinfoheader;
fwrite(&bitmapfileheader,sizeof(bitmapfileheader),1,fpout);
fwrite(&bitmapinfoheader,sizeof(bitmapinfoheader),1,fpout);
if(bitmapinfoheader.biClrUsed!=0){
cout<<"是索引图"<<endl;
system("pause");
return 0;
}
if(bitmapinfoheader.biBitCount==24){
cout<<"24位真彩图"<<endl;
//int line_width=((bitmapinfoheader.biWidth*bitmapinfoheader.biBitCount+24)/32)*4;
int line_width=bitmapinfoheader.biWidth*3;
BYTE *line_buf=new BYTE[line_width];
for(int i=0;i<bitmapinfoheader.biHeight;i++){
fread(line_buf,line_width,1,fpin);
for(int j=0;j<bitmapinfoheader.biWidth;j++){
BYTE b=line_buf[3*j];
BYTE g=line_buf[3*j+1];
BYTE r=line_buf[3*j+2];
if(isred(r,g,b)){
red2green(line_buf[3*j+2],line_buf[3*j+1],line_buf[3*j]);
}
}
fwrite(line_buf,line_width,1,fpout);
}
fclose(fpin);
fclose(fpout);
delete []line_buf;
cout<<"红变绿完成"<<endl;
}
system("pause");
return 0;
}
以上这篇c++图像处理:24位真彩图颜色变换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# c++
# 图像处理
# 24位真彩
# VC++中图像处理类CBitmap的用法
# C++ HLSL实现简单的图像处理功能
# 给大家
# 希望能
# 这篇
# 小编
# 大家多多
# BYTE
# isred
# amp
相关文章:
建站之星导航配置指南:自助建站与SEO优化全解析
制作企业网站建设方案,怎样建设一个公司网站?
建站主机CVM配置优化、SEO策略与性能提升指南
沈阳制作网站公司排名,沈阳装饰协会官方网站?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
Swift开发中switch语句值绑定模式
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何通过FTP空间快速搭建安全高效网站?
动图在线制作网站有哪些,滑动动图图集怎么做?
黑客入侵网站服务器的常见手法有哪些?
名字制作网站免费,所有小说网站的名字?
外贸公司网站制作哪家好,maersk船公司官网?
测试制作网站有哪些,测试性取向的权威测试或者网站?
做企业网站制作流程,企业网站制作基本流程有哪些?
网站设计制作企业有哪些,抖音官网主页怎么设置?
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
建站之星IIS配置教程:代码生成技巧与站点搭建指南
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
建站主机是什么?如何选择适合的建站主机?
淘宝制作网站有哪些,淘宝网官网主页?
制作农业网站的软件,比较好的农业网站推荐一下?
如何用低价快速搭建高质量网站?
制作销售网站教学视频,销售网站有哪些?
西安大型网站制作公司,西安招聘网站最好的是哪个?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
网站企业制作流程,用什么语言做企业网站比较好?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
TestNG的testng.xml配置文件怎么写
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
青岛网站建设如何选择本地服务器?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
如何通过WDCP绑定主域名及创建子域名站点?
建站VPS能否同时实现高效与安全翻墙?
ui设计制作网站有哪些,手机UI设计网址吗?
小型网站建站如何选择虚拟主机?
网页设计与网站制作内容,怎样注册网站?
如何在建站主机中优化服务器配置?
如何通过网站建站时间优化SEO与用户体验?
如何通过二级域名建站提升品牌影响力?
微信小程序 五星评分(包括半颗星评分)实例代码
定制建站流程解析:需求评估与SEO优化功能开发指南
制作网站的基本流程,设计网站的软件是什么?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
C#如何序列化对象为XML XmlSerializer用法
*请认真填写需求信息,我们会在24小时内与您取得联系。