#include <windows.h>#include <GL/glut.h>#include <GL/glaux.h>#include <stdio.h> #pragma comment( lib, "opengl32.lib" )// 链接时使用OpenGL32.lib#pragma comment( lib, "glu32.lib" )// 链接时使用GLu32.lib  #pragma comment( li…
#include <windows.h>#include <GL/glut.h>#include <GL/glaux.h>#include <stdio.h> #pragma comment( lib, "opengl32.lib" )// 链接时使用OpenGL32.lib#pragma comment( lib, "glu32.lib" )// 链接时使用GLu32.lib  #pragma comment( li…
BMP图片大家都知道,可以通过查看BMP图片结构使用纯C就可以打开,编辑,处理,保存图片.非常方便使用. 具体BMP结构可以参考:wingdi.h头文件.今天主要在进行删减代码,需要把多余的代码删除,之前写的保存bmp代码就此贴在这里留着以后需要的时候使用: 8位BMP图片保存代码: BOOL SaveMatrixToGrayBmp(char* sBMPFile, //name of BMP file BYTE *pMatrix, // pointer to Matrix Bits array…
使用Android移植时候,很多图片都需要16为的bmp格式,所以研究了一下如何从24位转换成16位,供大家参阅 step1:查看bmp图片的属性,如下图所示,是24位的 step2:用PhotoShop打开此图片,然后点击文件-->存储为 step3:在弹出的选项框中选择bmp格式,然后点击保存 step4:会弹出选项让您选择存储为多少位的bmp,选择24位 step5:还可以选择高级模式,进行高级设置 step6:设置完后打开另存为的图片查看属性,以及将24位改为16位的图片了 ======…
颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别简单地说这里说的位数和windows系统显示器设置中的颜色位数是一样的.表示的是能够显示出来的颜色的多少. 8位的意思是说,能够显示出来的颜色的数量有8位数.16.24都是一样的.24位的颜色数量已经很多了,叫做“真彩色”,其实32位和24位颜色数量是一样多的.32位多出来的8位数是用来表示透明度信息的,所以更加真实. 如果一有一张真彩色的照片,放到一个只有8位的显示器上的话,显示出来的效果就会很差.所以当需要的时候你就需要在低位…
在Windows下保存BMP图片还是挺方便的,直接上代码,拷贝就能用 void savebmp(uchar * pdata, char * bmp_file, int width, int height ) { //分别为rgb数据,要保存的bmp文件名,图片长宽 *sizeof(char); // 每个像素点3个字节 // 位图第一部分,文件信息 BITMAPFILEHEADER bfh; bfh.bfType = (WORD)0x4d42; //bm bfh.bfSize = size //…
因为公司的主要业务是图像识别相关的,因此对图像处理.识别是我学习的重点.虽然写程序也不少年了,但是对于图像处理领域,我还是一个新兵.对很多基础的概念也还是存在盲区,所以想在边学边做的过程中,对一些概念的梳理和学习心得进行记录. BMP文件格式 BMP(Bitmap-File)图形文件,又叫位图文件,是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式.Windows系统内部各图像绘制操作都是以BMP为基础的.一个BMP文件由四部分组成: 位图文…
public void getBMPImage(String source) throws Exception { clearNData(); //清除数据保存区 FileInputStream fs = null; try { fs = new FileInputStream(source); int bfLen = 14; byte bf[] = new byte[bfLen]; fs.read(bf, 0, bfLen); // 读取14字节BMP文件头 int biLen = 40; b…
效果图: 这里显示的图和原图有明显的色差,目前猜测是opengl渲染时的颜色表顺序跟BMP文件里的颜色表顺序相反导致. BMP里应该是BGRBGRBRG... ,而opengl渲染时应该是按照RGBRGBRGB...的顺序,所以就是B和R是反的,白色和 黑色区域不变是因为白色是全F,黑色是全0,交换后还是一样,这也证明了猜测.此问题待解决. 原图: 显示:         使用freeglut开源库 freeglut库是glut库的开源实现,API同glut的无缝衔接,几乎无区别 下载地址:ht…
注意bmp图片的格式问题,32位ARGB  或者24位RGB.你所采用的素材一定要注意是多少位的就用多少位的.否则会显示错误的图片或者其他什么的错误. 代码如下 32位版本 #include <GL/glut.h> static GLint ImageWidth; static GLint ImageHeight; static GLint PixelLength; static GLubyte* PixelData; #include <stdio.h> #include <…