C++的.cpp中如何利用GetDIBits、GetDIBColorTable和BitBlt等等API函数快速获取几万个点的RGB值
题目:在cpp中(不是MFC),输出屏幕某一指点区域(给出起点坐标和高度宽度)所有点的RGB的值存放到数组中,并用std::cout进行输出.第一要求:高效率,第二要求:...
题目:在cpp中(不是MFC),输出屏幕某一指点区域(给出起点坐标和高度 宽度)所有点的RGB的值 存放到数组中,并用std::cout进行输出.
第一要求:高效率,
第二要求:不得用GetPixl函数
第三要求:给出详细代码 包括头文件和详细的注释.
第四要求:详细说明GetDIBits的第五个参数里的数据如何按RGB输出、GetDIBColorTable的第四个参数(是RGBQUAD类的数组)如何以std::cout输出
回答满意者再追加300分
谢谢各位的关注 现在问题已经全部解决了!!! 展开
第一要求:高效率,
第二要求:不得用GetPixl函数
第三要求:给出详细代码 包括头文件和详细的注释.
第四要求:详细说明GetDIBits的第五个参数里的数据如何按RGB输出、GetDIBColorTable的第四个参数(是RGBQUAD类的数组)如何以std::cout输出
回答满意者再追加300分
谢谢各位的关注 现在问题已经全部解决了!!! 展开
2个回答
展开全部
GetPixl函数每运行一次就会造成程序的出栈入栈,数百次运行后会是使效率极端低下,
c++加SDK原生对图像处理的能力是很差的,正确的方法是楼主必须用MFC强大的类库,将图像数据作为整体内存分析,否则根本无法实现你的要求,仔细找,网上有,不是一两句话能说清楚的。。。在CPP的头文件中加入支持MFC的头文件,然后用MFC类库实现!具体在百度中找寻“GetPixl函数效率低下”。。在前五十页中就有,我以前遇到过你说的问题!!后来解决了。。。
c++加SDK原生对图像处理的能力是很差的,正确的方法是楼主必须用MFC强大的类库,将图像数据作为整体内存分析,否则根本无法实现你的要求,仔细找,网上有,不是一两句话能说清楚的。。。在CPP的头文件中加入支持MFC的头文件,然后用MFC类库实现!具体在百度中找寻“GetPixl函数效率低下”。。在前五十页中就有,我以前遇到过你说的问题!!后来解决了。。。
追问
谢谢你的回答 经多方查资料 现在已经实现了在cpp下成功比较高效的方法了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询