请问这样格式的rgb565c语言动态数组点阵图数组如何从bmp图片转换?

μC/GUI在NiOSⅡ上的移植设计-可编程逻辑-与非网
&便携式医疗监护仪已成为人们日常生活中不可缺少的一部分。便携式设备是由硬件与软件紧凑组合的一个单元模块,是一种体积小、智能化程度高、功能全、使用灵活、操作方便的便携机,适合家庭使用、外出携带等用途。为了使便携式心电监护仪实现友好的人机交互和更加方便的显示,这里提出一种GUI界面系统设计,就是在基于NiosⅡ处理器的嵌入式平台上实现&C/GUI的移植,使之实现系统功能。
1 &C/GUI的系统移植
1.1 &C/GUI简介及可移植性分析
&C/GUI是Micrium公司开发的通用的嵌入式图形用户界面软件,其中图形用户接口GUI(Graphical User Interface)。该界面软件被设计用于为任何使用一个图形LCD的应用提供一个有效的不依赖于处理器和LCD控制器的图形用户接口。它能工作于单任务或多任务的系统环境下。&C/GUI适用于使用任何LCD控制器和CPU的任何尺寸的物理和虚拟显示,具有源代码开放及模块化设计的特点。
&C/GUI的代码全部用ANSI的C语言编写的,具有很强的移植性。由于&C/GUI采用分层结构,即具有驱动接口层和应用层,因此可方便地移植到各种 CPU下使用。&C/GUI对各类图像LCD显示器具有良好的支持,并且有常见的2D图形库和窗口管理功能,而且消耗较少的系统资源,占用RAM和ROM 的空间很小。在典型的应用中,&C/GUI需要的资源如表1所示。由表1可见,运行&C/GUI需要的系统资源不是很多,并支持几乎所有类型的CPU与大多数的LCD模块,&C/GUI的源代码规模适中,移植过程中可将不需要的代码进行剔除,而且结构层次清晰,因此适合用于嵌入式系统中。
1.2 &C/GUI移植原理
嵌入式用户图形界面系统&C/GUI与嵌入式实时操作系统&C/OS-Ⅱ都是美国Micrium公司产品,&C/GUI能更轻易地在 &C/OS-Ⅱ上应用,实现与&C/0S-Ⅱ的无缝结合。在NiosⅡ嵌入式系统中,Altera公司已经将&C/OS-Ⅱ操作系统移植成功并且提供使用,所做的工作是将&C/GUI移植到NiosⅡ嵌入式平台之上,使其能与&C/OS-Ⅱ操作系统结合使用,采用&C/GUI 3.98版本的源代码进行移植。
&C/GUI的软件体系结构如图1所示,&C/GUI函数库为用户程序提供GUI接口,包含的函数有文本、数值、二维图形、输入设备以及各种窗口对象。其中,输入设备可以是键盘、鼠标或触摸屏;二维图形包括图片、直线、多边形、圆、椭圆、圆弧等;窗口对象包括按钮、编辑框、进度条、复选框等。
&C/GUI函数库可以通过GUIConf.h文件进行配置,包括内存设备,窗口管理器,支持操作系统、触摸屏,以及配置动态内存的大小等。在移植中,需要根据系统需要以外设所支持的功能对GUIConf.h文件进行配置。
在LCDConf.h文件中定义了与硬件有关的各种属性,如液晶的大小、颜色以及与液晶的接口函数。而LCD驱动文件则负责把&C/GUI的各种函数解释成LCDConf.h文件定义的液晶接口函数,这个文件与具体的硬件连接无关。在移植时,需要对LCDConf.h文件进行配置,并针对LCD控制器编写相应的LCD驱动文件。
2 &C/GUI在NiOSⅡ上的移植设计
2.1 TFT LCD IP核结构
&C/GUI的移植是基于IP核的移植,编写TFT LCD控制器,所以移植时,在底层配置文件,参数的配置要和TFT LCDIP的相关参数相匹配,否则不可能移植成功,该IP核的结构如图2所示。
液晶屏采用台湾统宝公司的TRDB_LCM 3.6寸屏,该屏的分辨率是320x240,支持24位色,也就是RGB888模式,但是由于Avalon总线支持传输数据宽度的差异,因此只用16位色,即RGB为565的模式。由于DE2-70有2个32 MB的SDRAM,所以拿使用其中一块作为数据的存储器,Nio-sⅡ处理器将图像数据写入该SDRAM中,在NiosⅡIDE中用软件控制缓冲器的开启,当开启缓冲器之后,该BUFFER会源源不断地读取SDRAM中的数据,为避免读数据和NiosⅡ处理器向其中写入数据时发生冲突,Avalon总线自动在二者之间加入了一个Arbitrator仲裁模块来决定执行哪个操作。
配置LCD采用3线串行总线配置LCD,缓冲器以Avalon存储器映像主机的方式从SDRAM中读取数据,然后以Avalon Streaming Soume的方式把这些数据传送到LCD控制器上,LCD控制器是以Avalon Streaming Sink的方式接收从缓冲器传来的数据,LCD控制器生成时序,在适当时候将数据送出到TFT LCD屏上显示。
2.2 移植过程
2. 2.1 &C/GUI的文件组织结构
&C/GUI是以ANSI C源码包的形式提供的。源码包由配置文件目录(Config)和库函数目录(GUI)2个文件目录组成。在Config目录中包含了LCDConf.h、GUITouchConf.h、GUIConf.h 3个配置文件,这3个文件分别用于LCD底层接口的配置、触摸屏底层接口的配置以及&C/GUI自身的配置。在GUI目录中的库函数文件按照不同功能又分成若干子目录如图3所示,各子目录所实现的功能如表2所示。
2.2.2 移植过程
首先建立一个硬件系统,采用Altera公司的QuartusⅡ9.0版本的配套软件,硬件系统在QuartusⅡ集成的 SOPCBuilder系统开发工具中建立,添加NiosⅡ处理、JTAG调试模块、添加定时器SDRAM控制器、BUFFER IP、TFT LCD IP以及其他部分组件,最后生成一个硬件系统。然后在NiosⅡIDE环境下针对该系统建立一个TFT LCD软件工程,并且将&C/GUI有关的源代码拷贝到工程目录下,修改LCDConf.h、GUIConf. h、LCDLin32.c以及GUI_X_uCOS.c文件,使之与LCD控制相匹配,在该系统中,LCD采用16位数据总线,而CPU是32位的 NiosⅡ软核处理器,先查看一下&C/GUI所支持的数据宽度信息,其数据宽度和NiosⅡ处理器所支持的宽度基本吻合,只要在改动代码时注意就可以。以下是具体的代码实现情况:
因为这里是基于TFT LCD IP核的移植,所以要定义LCD的读写函数,即LCD_READ_MEM(Off)和LCD_WRITE_MEM(Off,data)以及显示缓存区的起始位置,读写函数中的Off和data都是32位的无符号数,而操作函数IORD_32DIRECT()以及IOWR_32DIRECT()都是一次执行 32位数的操作,刚好和NiosⅡ处理器的数据宽度相匹配。由于支持&C/OS-Ⅱ操作系统,所以要对GUI_X_uCOS.c文件进行修改,增加系统延时函数OSTimeDly(1),使之能与&C/OSⅡ操作系统实现无缝衔接,以及3个子函数,void GUI_X_Log(const char*s){GUI_USE_PARA (s);};void GUI_X_Warn(const char*s){GUI_USE_PARA(s);};void GUI_X_ErrorOut(const char*s){ GUI_USE_PARA(s);};LCDLin32.e是对应3200型号控制器的驱动文件,由于在LCDConf.h中已经对用到的参量进行设置,所以无需修改,剩下的工作就是把不用的文件进行剔除,以减少编译时产生多余的代码量。
3 移植验证
在NiosⅡIDE环境下修改配置文件以及驱动文件,然后编译该系统,系统编译成功,编译成功之后还有MICRIUM公司的联系方式,这个是提醒用户该系列软件如果要用于商业目的是需要买license的,用于研究目的是免费的。
图片验证是采用&C/GUI自带的位图转换工具uC-GUI-BitmapConvert.exe,该工具可以将.bmp格式图片转换成指定的C语言数组的形式保存,例如将兰博基尼跑车标志的图片转换成RGB565的格式进行保存,加入工程,编译工程,然后下载验证,如图4所示。窗口管理组件验证采用代码包中自带的一个测试代码,其效果如图5所示。实验结果表明,移植是成功的。
本文介绍了&C/GUI界面系统,以及NiosⅡ嵌入式系统,详细介绍了移植的过程,以及最终实现移植。实验结果表明,在嵌入式系统中使用&C/GUI进行人机界面的开发,不但移植简单、使用灵活,而且功能强大,稳定高效,大大降低了在嵌入式系统中开发图形人机界面的复杂程度,而且 &C/GUI还提供了几个非常实用的工具软件,其中包括一个仿真器,它使得在进行移植工作的同时,就可以在仿真器上进行软件界面部分的程序编写,加快了整个系统的开发进度。还有位图转换工具,可以轻松地将图片转换成C语言数组的形式保存,方便界面开发。&C /GUI还支持其他PS2鼠标、PS2键盘、触摸屏,包含丰富的绘图库、动画显示优化、还可以自己加入中文字体,通过使用&C/GUI的各项功能,相信可以在嵌入式系统中开发出功能强大的人机界面,而且在嵌入式系统中有很好的应用前景。
关注与非网微信 ( ee_focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
包括移动平台芯片在内的IC设计如:MCU、DSP、传感器等企业未来五年,在形成和国外巨头竞争的国家意志作用之下,在如大基金之类的“资金肌肉”的搅动之下,会不会形成一家和几家独大,垄断国内市场的局面?如果这样的话在移动平台芯片、MCU、DSP、传感器等分支那一家最有希望成为寡头?
旗下网站:
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号4419人阅读
本文博客链接:,作者:jdh,转载请注明.
TFT屏的显示缓存能直接显示RGB565的数据,所以BMP要转换成RGB565.
24位BMP结构包括文件头,信息头,位图数据。首先读取文件头,信息头,然后读取位图数据。假设读取的是320 × 240大小的24位位图数据,转换成的RGB565的数据保存在数组
U16 BUFFER_BMP[320 * 240]中。读取的三位色彩量RED,BLUE,GREEN。
*BUFFER_BMP = 0X0000;
*BUFFER_BMP |= RED && 8;
*BUFFER_BMP |= GREEN && 3;
*BUFFER_BMP |= BLUE && 3;
BUFFER_BMP++;
同理RGB565数据也可以转换为BMP格式
功能:RGB565转换为BMP
说明:只能转换320*240大小图片,转化为24位图
void RGB565_TO_BMP(U16 RGB565[240][320],U8 *BMP)
&//BMP信息头
&U8 HEADER[] =
&&66,77,54,132,3,0,0,0,0,0,54,0,0,0,40,0,
&&0,0,64,1,0,0,240,0,0,0,1,0,24,0,0,0,
&&0,0,0,132,3,0,35,46,0,0,35,46,0,0,0,0,
&&0,0,0,0,0,0
&U32 i = 0;
&U8 RED,BLUE,GREEN;
&U16 COLOR;
&//BMP信息头定义
&for (i = 0;i & 0X36;i++)
&&*BMP++ = *(HEADER + i);
&//色彩写入
&for (i = 0;i & 76800;i++)
&&COLOR = *(*(RGB565 + i / 320) + i % 320);
&&RED = ((COLOR && 8)) & 0xF8 + 3;
&&BLUE = ((COLOR && 3) & 0xFC) + 1;
&&GREEN = ((COLOR && 3) & 0xF8) + 3;
&&*BMP++ = BLUE;
&&*BMP++ = GREEN;
&&*BMP++ = RED;&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:378204次
积分:7036
积分:7036
排名:第1123名
原创:146篇
转载:19篇
评论:357条
阅读:5756
阅读:13566
文章:19篇
阅读:77478
阅读:12551
(2)(2)(4)(3)(8)(2)(4)(2)(2)(1)(3)(4)(5)(1)(2)(4)(5)(6)(2)(1)(1)(4)(2)(1)(1)(2)(3)(1)(6)(5)(1)(6)(9)(11)(5)(4)(8)(18)(2)(2)(1)(1)(3)(2)(3)VB 怎么将RGB565转换为bmp图像_百度知道
VB 怎么将RGB565转换为bmp图像
Byte数组a中有格式为RGB565的图像数据,怎么将它转换为bmp格式的Byte数组
我有更好的答案
按默认排序
65536) &#47, B As LongDim RGB As LongR = (RGB24 Mod 256) &#47, B As LongIf RGB565 & 32) Mod 64) / 255 * 63B = Int(RGB24 / 63 * 255B = (RGB Mod 32) &#47Function RGB565toRGB24(RGB565 As Integer) As LongDim RGB As LongDim R As Long, G As L 256) Mod 256) &#47, G As L 255 * 31G = (Int(RGB24 / 31 * 255G = (Int(RGB / 31 * 255RGB565toRGB24 = R + G * 256 + B * 65536End FunctionFunction RGB24toRGB565(RGB24 As Long) As IntegerDim R As L 2048) / 0 Then RGB = CLng(RGB565) + 65536 Else RGB = CLng(RGB565)R = Int(RGB / 255 * 31RGB = R * 2048 + G * 32 + BIf RGB &lt
上 迅雷 下载一个转换器 就可以了
其他类似问题
rgb565的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁1733人阅读
本文主要是讲述《数字图像处理》系列栏目中的第一篇文章.主要详细介绍了BMP图片格式,同时使用C++和MFC显示BMP格式,主要结合自己的《数字图像处理》课程和以前的项目叙述讲解.
一.BMP图片格式定义
BMP文件格式是Windows操作系统推荐和支持的标准图像文件格式,是一种将内存或显示器的图像数据不经过压缩而直接按位存盘的文件格式,故称位图(bitmap),其扩展名为BMP.BMP图像通常有4个部分组成:位图文件头、位图信息头、颜色表、位图数据.如下图所示:
第一部分为位图文件头BITMAPFILEHEADER.位图文件头结构长度固定为14个字节,包含文件的类型、大小、位图文件保留字、位图数据距文件头的偏移量.其中WORD为无符号16位整数(2byte),DWORD为无符号32位整数(4byte).具体结构体定义如下:
//位图文件头
typedef struct tagBITMAPFILEHEADER {
//位图文件的类型,必须为BM 0x424d 表示.bmp
//位图文件的大小,以字节为单位 包括该14字节
bfReserved1;
//位图文件保留字,必须为0
bfReserved2;
//位图文件保留字,必须为0
//位图数据距文件头的偏移量,以字节为单位 即前三部分和
} BITMAPFILEHEADER;
第二部分为位图信息头BITMAPINFOHEADER,该结构也固定为40个字节,用于说明位图的尺寸、宽高、像素、分辨率、颜色表等信息.具体结构定义如下:
//位图信息头
typedef struct tagBITMAPINFOHEADER {
//本结构所占用字节数 40字节
//位图的宽度,以像素为单位
//位图的高度,以像素为单位
//目标设备的级别,必须为1
//每个像素所需的位数,必须是1(双色)、
//4(16色)、8(256色)或24(真彩色)之一
//位图压缩类型,必须是 0(BI_RGB不压缩)、
//1(BI_RLE8压缩类型)或2(BI_RLE压缩类型)之一
//位图的大小,以字节为单位
biXPelsPerM
//位图水平分辨率,每米像素数
biYPelsPerM
//位图垂直分辨率,每米像素数
//位图实际使用的颜色表中的颜色数
//位图显示过程中重要的颜色数
} BITMAPINFOHEADER;
第三部分为颜色表或调色板(Palette).有些位图需要调色板,有些位图如真彩色图(biBitCount=24)不需要调色板,它们的BITMAPINFOHEADER后面直接是位图数据.调色板实际是一个数组,共有biClrUsed个元素(如果该值为零,则有2的biBitCount次幂个元素).数组中每个元素的类型是一个RGBQUAD结构,占4字节.定义如下:
//位图颜色表
typedef struct tagRGBQUAD
//蓝色的亮度(值范围为0~255)
//绿色的亮度(值范围为0~255)
//红色的亮度(值范围为0~255)
//保留,必须为0
} RGBQUAD;
第四部分就是实际的图像数据.对于真彩色图(24位位图 biBitCount=24),图像数据就是实际的RGB值;对于用到调色板的位图,图像数据就是该像素颜色在调色板中的索引值.下面对2色、16色、256色和真彩色位图分别介绍:
(1).2色位图:当biBitCount=1时,用1位就可以表示该像素的颜色(0表示黑,1表示白),所以8个像素占1个字节;
(2).16色位图:当biBitCount=4时,用4为可以表示一个像素的颜色,所以2个像素占1个字节;
(3).256色位图:当biBitCount=8时,用1个字节表示1个像素,1个像素占1个字节;
(4).真彩色图:当biBitCount=24时,此时用3个字节表示1个像素,其中RGB各占1字节,由于没有颜色表,位图信息头后面是位图数据.
同时,注意以下几点:
1.由于Windows规定一个扫描所占的字节数必须是4的倍数(即以long为单位),不足的以0填充.同时注意下面公式,计算只含位图数据的大小:biSizeImage=(((bi.biWidth*bi.biBitCount)+31)/(32*4))*bi.Height
在后面讲述获取文件的信息时会通过UE软件结合16进制数据进行详细讲解上面各个数据的具体含义.
2.BMP图片格式的数据是从下到上、从左到右读.即文件中最先读到的图像是最下面一行的左边第一个元素,即从左下角开始存储(0,0)点,从左下角到右上角存储数据.尤其是在图像几何变换平移、旋转时,我就犯过这样的错误,本想让图像从左下角向右上移动,结果刚好相反,后面也会通过实例加深大家的印象.
3.如果想使用C语言\C++显示图片,建议自定义个ImageStruct.h的头文件.包含BMP位图的位图文件头结构、位图信息头结构、位图颜色表3个结构,在实例变量操作.而使用MFC,因为在wingdi.h文件中系统已经定义了BMP图像的结构BITMAPFILEHEADER、BITMAPINFOHEADER,直接在View.h中用他俩实例定义即可.
二.显示BMP图片的基本步骤
在MFC工程XXXView.h类中添加成员函数void ShowBitmap(CDC* pDC,CString BmpName);通过自定义函数实现显示BMP格式图像,其中*pDC是CDC句柄,BmpName是图像文件名.具体步骤如下:
1.创建位图并调用函数LoadImage装载图标、光标或位图.
& HBITMAP m_hB&
& m_hBitmap=(HBITMAP)LoadImage(HINSTANCE hinst,LPCTSTR lpszName,UINT uType,int cxDesired,int cyDesired,UINT fuLoad)
2.定义并创建一个内存设备环境DC,调用函数CreateCompatibleDC创建兼容的DC.
& CDC dcB dcBmp.CreateCompatibleDC(pDC) ;
3.定义BITMAP变量,调用函数GetBitmap将图片载入位图中,该定义是为后去图像的长宽等信息.
& BITMAP m_ m_bitmap.GetBitmap(&m_bmp);
4.调用函数SelectObject将位图选入兼容内存设备环境DC中.
& dcBmp.SelectObject(&m_bitmap);
5.将兼容的DC中的位图填到当前DC中,调用函数BitBlt或strechBlt显示图像.
(1).BitBlt()该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境.
& pDC-&BitBlt(0,0,m_bmp.bmWidth,m_bmp.bmHeight,&dcBmp,0,0,SRCCOPY);
(2).stretchBlt()该函数从源矩形中复制位图到目标矩形,必要是按目标设备设置的模式进行图像拉伸或压缩.
& pDC-&StretchBlt(0,0,m_nDrawWidth,m_nDrawHeight,&dcBmp,0,0,m_bmp.bmWidth,m_bmp.bmHeight,SRCCOPY);
6.恢复临时DC的位图,删除CreateCompatibleDC得到的图片DC,删除内存中的位图及释放系统资源.
& dcBmp.SelectObject(pbmpOld); DeleteObject(&m_bitmap);& dcBmp.DeleteDC();
具体函数代码如下:
//****************显示BMP格式图片****************//
void CShowBMPView::ShowBitmap(CDC *pDC, CString BmpName)
//定义bitmap指针 调用函数LoadImage装载位图
HBITMAP m_hB
m_hBitmap = (HBITMAP) LoadImage(NULL,BmpName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_DEFAULTSIZE|LR_CREATEDIBSECTION);
/*************************************************************************/
/* 1.要装载OEM图像,则设此参数值为0
OBM_ OEM位图 OIC_OEM图标 OCR_OEM光标
/* 2.BmpName要装载图片的文件名
/* 3.装载图像类型:
IMAGE_BITMAP-装载位图 IMAGE_CURSOR-装载光标 IMAGE_ICON-装载图标
/* 4.指定图标或光标的像素宽度和长度 以像素为单位
/* 5.加载选项:
IR_LOADFROMFILE-指明由lpszName指定文件中加载图像
IR_DEFAULTSIZE-指明使用图像默认大小
LR_CREATEDIBSECTION-当uType参数为IMAGE_BITMAP时,创建一个DIB项
/**************************************************************************/
if( m_bitmap.m_hObject )
m_bitmap.Detach();
//切断CWnd和窗口联系
m_bitmap.Attach(m_hBitmap);
//将句柄HBITMAP m_hBitmap与CBitmap m_bitmap关联
GetClientRect(&rect);
//图片显示(x,y)起始坐标
int m_showX=0;
int m_showY=0;
int m_nWindowWidth = rect.right - rect.
//计算客户区宽度
int m_nWindowHeight = rect.bottom - rect.
//计算客户区高度
//定义并创建一个内存设备环境DC
if( !dcBmp.CreateCompatibleDC(pDC) )
//创建兼容性的DC
//临时bmp图片变量
m_bitmap.GetBitmap(&m_bmp);
//将图片载入位图中
CBitmap *pbmpOld = NULL;
dcBmp.SelectObject(&m_bitmap);
//将位图选入临时内存设备环境
//图片显示调用函数stretchBlt
pDC-&StretchBlt(0,0,m_bmp.bmWidth,m_bmp.bmHeight,&dcBmp,0,0,m_bmp.bmWidth,m_bmp.bmHeight,SRCCOPY);
/*******************************************************************************/
/* BOOL StretchBlt(int x,int y,int nWidth,int nHeight,CDC* pSrcDC,
int xSrc,int ySrc,int nSrcWidth,int nSrcHeight,DWORD dwRop );
/* 1.参数x、y位图目标矩形左上角x、y的坐标值
/* 2.nWidth、nHeigth位图目标矩形的逻辑宽度和高度
/* 3.pSrcDC表示源设备CDC指针
/* 4.xSrc、ySrc表示位图源矩形的左上角的x、y逻辑坐标值
/* 5.dwRop表示显示位图的光栅操作方式 SRCCOPY用于直接将位图复制到目标环境中
/*******************************************************************************/
dcBmp.SelectObject(pbmpOld);
//恢复临时DC的位图
DeleteObject(&m_bitmap);
//删除内存中的位图
dcBmp.DeleteDC();
//删除CreateCompatibleDC得到的图片DC
补充:MFC中DC指device context,设备环境或设备描述表,它其实是GDI内部保存数据的一种数据结构.此结构中属性内容与特定输出设备相关,属性定义了GDI函数的工作细节.总之,使用GDI绘图函数,就需要一个DC句柄,MFC中把和DC相关的封装成类.其中CDC是一个抽象基类,可以访问整个显示器和打印机.其中下面链接中的文章详细描述了CBitmap、HBitmap、Bitmap三者的区别与联系.
三.MFC显示BMP图片
下面将详细讲解使用VS2012 MFC创建工程的具体步骤:
第一步:新建项目&MFC应用程序&,项目名为ShowBMP,在应用程序类型中选择&单个文档&,点击&确定&.在右栏的&资源视图&中,点击&Menu-&IDR_MAINFRAM&可以查看并修改菜单视图.
第二步:向CShowBMPView类添加成员变量和成员函数.在右栏的&类视图&右键CShowBMPView添加函数或直接在ShowBMPView.h中直接添加public成员变量和成员函数.添加代码如下:
//成员变量
CString BmpN
//保存图像文件文件名
CString EntN
//保存图像文件扩展名
CBitmap m_
//创建位图对象
//成员函数
void ShowBitmap(CDC* pDC,CString BmpName);
//用来显示指定位图bmp的函数
第三步:设置打开BMP图片函数.&项目&-&&类向导&-&选择&类名&CShowBMPView-&在命令对象ID中双击&ID_FILE_OPEN&-&自动生成默认成员函数OnFileOpen,消息为COMMAND.双击成员函数(Member Functions)进入函数编辑.(VC++ 6.0中Ctrl+W可以实现建立类向导)
向添加成员函数CShowBMPView::OnFileOpen()添加如下代码,主要是生成打开图片的对话框,并获取图片路径及后缀.自定义四种格式为bmp gif jpg tiff,但目前只能打开bmp格式图片.
//**************文件打开****************//
void CShowBMPView::OnFileOpen()
//四种格式的文件:bmp gif jpg tiff
filter=&所有文件(*.bmp,*.jpg,*.gif,*tiff)|*.*.*.*.tiff| BMP(*.bmp)|*.bmp| JPG(*.jpg)|*.jpg| GIF(*.gif)|*.gif| TIFF(*.tiff)|*.tiff||&;
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter,NULL);
//按下确定按钮 dlg.DoModal() 函数显示对话框
if( dlg.DoModal() == IDOK )
BmpName = dlg.GetPathName();
//获取文件路径名
如D:\pic\abc.bmp
EntName = dlg.GetFileExt();
//获取文件扩展名
EntName.MakeLower();
//将文件扩展名转换为一个小写字符
Invalidate();
//调用该函数就会调用OnDraw重绘画图
第四步:在ShowBMPView.cpp中编写void CShowBMPView::ShowBitmap(CDC *pDC, CString BmpName)函数,即“二.显示BMP图片基本步骤”.同时通过OnDraw()函数调用ShowBitmap()函数显示图片.代码如下:
//在OnDraw函数中调用ShowBitmap()实现图片的显示功能
void CShowBMPView::OnDraw(CDC* pDC)
CShowBMPDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
// TODO: 在此处为本机数据添加绘制代码
if( pare(_T(&bmp&)) == 0 )
ShowBitmap(pDC,BmpName);
//显示图片
四.运行结果及总结
运行程序后,显示如下所示:其中可以看到自定义的打开对话框和显示图片.
最后,该文章主要是数字图像处理的基础知识,详细介绍了BMP图片格式和使用MFC如何读取BMP图片的相关知识.仅以此篇纪念自己的考研结束,新的开始.同时推荐大家阅读一位叫烟雨江南的作者的文章,个人感觉帮组很大.&同时该项目免费下载网址:
希望该文章能够对大家有所帮助,同时如果文章中有错误或不足之处,还请大家海涵.
(By:Eastmount
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:134232次
积分:2470
积分:2470
排名:第6470名
原创:101篇
评论:110条
文章:18篇
阅读:15804
阅读:4273
文章:17篇
阅读:22144
文章:13篇
阅读:26124
(3)(7)(5)(7)(8)(9)(3)(2)(1)(1)(6)(3)(6)(5)(7)(1)(1)(1)(10)(4)(6)(3)(4)(2)(2)
【算法知识】
【C# .NET】
【游戏开发】
【Android】
【正能量&导师】
【图形&视频处理】
【各种知识】
【数据挖掘】
【.NET MF&嵌入式】
【架构&模式】
【Hibernate】
【操作系统】
【IOS开发】trackbacks-0
Google三维API O3D  O3D 是一个开源的
Web API 用来在浏览器上创建界面丰富的交互式的 3D
应用程序。这是一种基于网页的可控3D标准。此格式期望真正的基于浏览器,独立于操作系统之外,并且支持主流的3D显卡,这样就可以在网页中实现效果逼真
的3D动画。在线演示:http://o3... 更多O3D信息&  最新新闻: 谷歌联手Mozilla基金开发3D互联网图像技术发布于 2个月前&  绘图引擎 RRDtool  简单的说,RRDtool (Round Robin Database Tool)就是一个强大的绘图的引擎,很多工具例如MRTG都可以调用rrdtool绘图。 更多RRDtool信息&  最新新闻: RRDtool 1.4.3 发布发布于 2个月前&  计算机视觉库 OpenCV  OpenCV是Intel开源计
算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV 拥有包括 300
多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库&&尽管也可以使用某些外部库。 Op... 更多OpenCV信息&  最新新闻: OpenCV从SourceForge迁移到ros.org 发布于 6个月前&  图像处理类库 CImg  The CImg Library是一个强大的图像处理类库。在代码中使用此类可以导入/导出,处理,和显示图片,它是一个强大的处理图像的C++工具箱。 更多CImg信息&  2D图形库AGG  AGG,全名:Anti- GrainGeometry,是一个开源的、高效的2D图形库。AGG的功能与GDI+的功能非常类似,但提供了比GDI+更灵活的编程接口,其产生的图形的质量也非常高,而且它是跨平台的,其宣传可以在非常多的操作系统上运行。 主要的功能有: 1、支持ALPHA、G... 更多AGG信息&  Google图形处理引擎 skia  skia是个 2D向量图形处
理函数库,包含字型、座标转换,以及点阵图都有高效能且简洁的表现。不仅用于Google
Chrome浏览器,新兴的Android开放手机平台也采用skia作为绘图处理,搭配OpenGL/ES与特定的硬体特征,强化显示的效果自2005
年Skia被Google收购后,一... 更多skia信息&  三维图形渲染引擎 OGRE  OGRE是一个三维 (3D)图形渲染引擎。它是面向对象的,并且高效,抽象化了不同的API和平台,这样可以以场景为对象来使用物体,支持多种场景.它已经成功地被应用于诸多三维仿真领域,包括网络游戏和三维仿真项目。 功能和特点◆ 简单易用的面向对象接口◆ 最小化... 更多OGRE信息&  开源图形库 FreeImage  一个自由、开源的图形库--FreeImage
(支持位图构件―例
如调色板和数据位―的便易访问;将位图从一种位深度转换到另一种位深度;当有多幅位图页―例如TIFF―时访问位图的不同页;基本的位图处理,如旋转、翻
转(flipping)和重采样,或点操作,如亮度和对... 更多FreeImage信息&  3D引擎 Irrlicht Engine  Irrlicht Engine 是一个用C++开发的高性能实时的3D引擎,同时提供了.NET版本,这是一个跨平台的使用了D3D、OpenGL的3D渲染引擎。 更多Irrlicht Engine信息&  最新新闻: Irrlicht Engine 1.7 发布,C++的3D引擎发布于 4个月前&  移动设备上的OpenGL OpenGL ES  OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形&API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。 OpenGL ES 是从 Op... 更多OpenGL ES信息&  高质量图形图表库 MathGL  MathGL is ... 是一个在Windows和Linux下生成高质量图形的类库;用来根据大量的数组生成各种图表可轻松嵌入到其他程序中可生成各种各样的图表 更多MathGL信息&  最新新闻: 高质量图形图表库 MathGL 1.10 发布发布于 5个月前&  开源图形库 CxImage 
 CxImage是一个可以用于MFC 的C++图像处理类库类,它可以打开,保存,显示,转换各种常见格式的图像文件,比如BMP, JPEG,
GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K
等格式的文件。可以实现BMP&-&JPG,PNG &&TIFF格式等等的互相... 更多CxImage信息&  图像识别类库 Tesseract OCR 
 原本由惠普开发的图像识别类库tesseract-ocr已经更新到2.04, 就是最近Google支持的那个OCR。原先是惠普写的,现在Open
source了。
1.03版本以前是在sourceforge上发布,现在的更新版本到google-code上了,据说曾经的图像识别能力排名第三。现在大家都很
关... 更多Tesseract OCR信息&  开源图形API OpenGL 
 OpenGL 是行业领域中最为广泛接纳的 2D/3D 图形 API,
其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL
是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、... 更多OpenGL信息&  最新新闻: OpenGL 4.0 发布发布于 3个月前&  图形处理器开发环境 CUDA 
 CUDA 工具包是一种针对支持CUDA功能的GPU(图形处理器)的C语言开发环境。CUDA开发环境包括:& nvcc C语言编译器&
适用于GPU(图形处理器)的CUDA FFT和BLAS库& 分析器& 适用于GPU(图形处理器)的gdb调试器(在... 更多CUDA信息&  C++视觉库 VXL 
 VXL (the
Vision-something-Libraries)是计算机视觉研究和实现库集。它从TargetJr和IUE演变而来,目的是成为一个轻量级、速
度快和持久的系统。它可移植到很多平台。包含的库◆ 数字化容器和法则:vnl◆ 图像管理:vil◆ 几何图形:vgl◆ I/O控制:vsl◆
... 更多VXL信息&  三维图形渲染库 OGRE 3D  OGRE 3D 是一个被广泛使用的开源三维图形渲染库,成功地被应用于诸多三维仿真领域,其中包括网络游戏和一些商业的三维仿真项目 更多OGRE 3D信息&  最新新闻: 游戏引擎OGRE 3D 1.7.0 RC 宽松的MIT授权发布于 5个月前 C++ PNG类库 PNGwriter& 
 PNGwriter 是一个用来创建PNG格式图像的C++类库。示例: #include &pngwriter.h&int
main(){ pngwriter png(300,300,0,"test.png"); for(i = 1; i
& 300;i++) { y = 150+100*sin((double)i*9/300.0); ... 更多PNGwriter信息
OpenGL应用框架 GLFW&  GLFW是一个OpenGL的应用框架,支持Linux和Windows. 更多的效果截图:http://glfw.sourceforge.net/screenshots.html 更多GLFW信息&  人脸识别 faceservice.cgi  faceservice.cgi 是一个用来进行人脸识别的 CGI 程序, 你可以通过上传图像,然后该程序即告诉你人脸的大概坐标位置。faceservice是采用 OpenCV 库进行开发的。 更多faceservice.cgi信息&  libpng 
 libpng 软件包包含 libpng 库.这些库被其他程式用于读写png文件. 安装 libpng 用以下命令安装 libpng: make
prefix=/usr \ ZLIBINC=/usr/include ZLIBLIB=/usr/lib -f
scripts/makefile.linux && make prefix=/usr install -f
scripts/makefile.... 更多libpng信息&  JPEG 图像压缩库 LibJPEG  LibJPEG 是一个广泛使用的 JPEG 图像压缩库,采用 C 语言开发。 更多LibJPEG信息&  OpenGL实现包 Mesa  Mesa是一个类OpenGL(http://www.opengl.org)的开源实现. 更多Mesa信息&  最新新闻: Mesa 7.5 正式发布,引入Gallium3D构架发布于 10个月前&  C++图形库 GOBLIN Graph Library  GOBLIN图形库包括一个C + +类库的一个大型系列图优化的方法、GOSH以及TCL /Tk脚本语言的扩展。GOBLIN包括一个图形编辑器,并支持标准图形布局方法。 更多GOBLIN Graph Library信息&  图像处理库 GD  GD 是一个开源的图像处理库,支持 PNG/JPEG/GIF以及其他格式的图像。GD一般被用来创建图表、图形、缩略图以及其他图像相关的处理操作。 更多GD信息&  3D图形开发库 OpenSceneGraph 
 OpenSceneGraph是一款高性能的3D图形开发库。广泛应用在可视化仿真、游戏、虚拟现实、高端技术研发以及建模等领域。使用标准的C++和
OpenGL编写而成,可以运行在Windows系列、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX以及FreeBSD操
作系统。 ... 更多OpenSceneGraph信息&  OpenGL图形接口 glew 
 GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但
OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才
支... 更多glew信息&  数码相片在线编辑& 
 数码相片在线编辑用ASP+ImageMagik制作的在线照片编辑-
放大,缩小,裁切工具:方便制作论坛头像,在没有图片处理工具的电脑上使用,简单,方便,支持gif动画裁剪!
目前前端采用JS进行图形处理,后台用ImageMagik进行图片压缩等处理。... 更多数码相片在线编辑信息&  C语言的JPEG操作库 OpenJPEG 
 OpenJPEG是一个C语言编写的开放源码的JPEG 2000编解码器。它已经制定了以推广使用的JPEG 2000
,最新的压缩标准由因Joint Photographic Experts Group ( JPEG格式)
。除了基本的编解码器,其他各种功能正在开发,其中包括JP2和MJ2 (运动JPEG 2000 )的文... 更多OpenJPEG信息&  2D/3D 图形开发库 Visualization Library 
 Visualization Library 是一个 C++ 的中间件用来开发基于 OpenGL 2.1 的 2D/3D
应用程序,支持高级特性包括 OpenGL Shading 语言、帧缓冲对象、多目标渲染、Vertex 以及点阵缓冲对象、KdTree/AABB
frustum culling 等等。提供一个基于 Unicode 的多语言文本... 更多Visualization Library信息&  免费开源图形API Mesa3D  Mesa3D是一个几乎和Opengl相同的免费开源图形API,它在功能上一点也不输给Opengl。作为免费开源软件,免去了诸多侵权问题的烦恼。不过最好还是不要用它来开发商业软件,这样有违开源精神。 更多Mesa3D信息&  BMP图像处理库 bmplib&  bmplib 是一个用来创建 24位 BMP 位图的 C 语言库,不依赖于其他程序库。 更多bmplib信息&  向量图形库 Picasso& 
 Picasso 是一个高质量的向量图形渲染库,支持 path , matrix , gradient , pattern , image 和
truetype font 等功能. alpha blending svg rendering gis maps instrument ...
更多Picasso信息&  摄像头图像捕捉 QuickCapture&  QuickCapture是一个简单和易于扩展的应用程序以最小的依赖性,旨在收集和处理图像取自网络摄像头。它提供了一个强大的功能集,并包含一个插件系统部分灵感来自Pidgin。 更多QuickCapture信息&  2D 图形引擎 Quad-Ren&  Quad-Ren 是一个独立的决议2D图形引擎,旨在缓解点阵图的发展为基础的应用程序,主要是游戏。应用四任将功能相同的,不论屏幕分辨率或长宽比,窗口或全屏。 更多Quad-Ren信息&  Symbian图像处理扩展库 NokiaCV& 
 NokiaCV 是在 Nokia的Symbian操作系统,扩展图像处理能力和规范内部的操作系统图像操作。NokiaCV
提供的标准图像操作方法,以及一套线性代数行动需要
在许多先进的图像应用程序。这是一个未来的基石先进图像库。一些扩展很可能会造成我们的研究小组和提供... 更多NokiaCV信息&  3D渲染引擎 Genesis3D& 
 Genesis3D
是实时3D渲染环境,所有的实时3D的需要。有大量的在线社区,免费网上论坛,许多链接Genesis3D开发商...你会发现所有的支持和工具,您需要
着手开发世界一流的,实时三维应用程序。如果您是新的发展与Genesis3D ,当前版本的软件开发工具包是1.1...
更多Genesis3D信息&  大图像处理工具 VIPS&  VIPS 是一个图像处理软件,特别适合非常大的图像处理。它由一个强大的,可重复利用的程序库和一个图形用户界面组成。 更多VIPS信息&  3D引擎 Apocalyx&  Apocalyx是一个基于OpenGL的3D引擎. 更多Apocalyx信息&  OCR识别 OCRopus&  Ocropus的(TM)是一个先进的文件分析和OCR系统,采用可插入的布局分析,可插入的字符识别,自然语言统计建模和多语言支持功能。 更多OCRopus信息&  C 图像操作库 Jhead& 
 Jhead 是一个用C语言开发的用来操作图像文件的EXIF信息的库。读取 EXIF 信息时输出如下: Sample jhead output:
File name : .jpgFile size : 463023 bytesFile date :
21:02:04Camera make : CanonCamera model : Can... 更多Jhead信息&  最新新闻: Jhead 2.90 发布,C语言的图形EXIF解析库发布于 4个月前&  图形处理包 DevIL&  DevIL (即以前的OpenIL)是一个跨平台的图形处理包,支持BMP,JPG,GIF等多种图形文件格式. 更多DevIL信息&  OpenGL应用工具包 GLUT& 
 GLUT代表 OpenGL应用工具包,英文全称为OpenGL Utility Toolkit,是一个和窗口系统无关的软件包,它由Mark
Kilgard在SGI时写的。作为AUX库的功能更强大的替代品,用于隐藏不同窗口系统API的复杂性。是一个学习OpenGL编程的一个良好开端。感
谢GLUT,使我们可... 更多GLUT信息&  OpenVRML& 
 OpenVRML is a VRML and X3D browser plug-in and C++ toolkit for
incorporating VRML support into applications. OpenVRML provides VRML97
and Classic VRML X3D parsers, a runtime, and an OpenGL renderer as C++
libraries. The renderer is fully... 更多OpenVRML信息&  Jet3D&  Jet3D 是一个C++的高性能实时的三维图形渲染引擎。 更多Jet3D信息&  场景图绘制类库 Papyrus&  Papyrus 是一个 C++ 的二维场景图绘制类库。Papyrus 跟 Gnome:Canvas 库的功能类似。下面是一些绘制的场景图例子: 200x200 (3kb) 200x200 (5... 更多Papyrus信息&  C++图像处理库 ExactImage& 
 ExactImage 是一个快速的 C++ 图像处理库,与 ImageMagick 不同的是,ExactImage
允许对多个色彩空间和色深进行操作;更低的内存占用和CPU占用;某些优化算法速度是 ImageMagick 的 20 倍,显示大图片的速度是
ImageMagick 的 10 倍。... 更多ExactImage信息&  最新新闻: ExactImage 0.8.0 发布发布于 2个月前&  OpenGL的C++封装 D'Enfent Engine&  D'Enfent Engine 是一个C++的类库,用来提供对 OpenGL 函数的高级封装,非常适合用于游戏开发,提供一个完整的API手册和一个入门指南。 更多D'Enfent Engine信息&  NVIDIA Scene Graph& 
 NVIDIA Scene Graph (NVSG)
软件开发套件是一个面向对象的编程库,主要用于创建场景图形的应用程序。大一种事后补充。而NVSG 是围绕着色器完全重新进行设计。NVSG 利用
CgFX & 一个元文件格式,这个格式可以让着色器在应用程序之间轻松共享。Viewe... 更多NVIDIA Scene Graph信息&  最新新闻: NVIDIA公司预发布其195.xx Linux驱动程序发布于 2个月前&  C语言的EXIF库 libexif&  libexif 是一个用来读取数码相机照片中包含的 EXIF 信息的 C 语言库,支持多种平台。 更多libexif信息&  Exiv2& 
 Exiv2 是一个用来提取图片中的EXIF、LPTC 和 XMP 元数据信息的C++类库。同时还提供了命令行工具。示例代码:
Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]);
assert(image.get() != 0); image-&readMetadata(); Exi... 更多Exiv2信息&  三维应用开发环境 Croquet& 
 Croquet 是一个功能强大的开放源码软件开发环境,用于创建和大型分布式部署多用户虚拟三维应用程序和metaverses是( 1 )持久性(
2 )深入的合作,( 3 )相互联系和( 4 )互操作。Croquet 的架构支持同步通信,协作,资源共享和计算之间的大量用户在多...
更多Croquet信息&  Symbian绘图库 Cairo for Symbian OS& 
 Cairo for Symbian OS 是绘图库 Cairo 在 Symbian 操作系统上的移植版本。 示例代码: //
CMyAppView derives from CCoeControl//void CMyAppView::ConstrucL(const
TRect& aRect) { CreateWindowL(); SetRect(aRect); ActivateL();
iSurface = cair... 更多Cairo for Symbian OS信息&  数据可视化库 Tulip& 
 Tulip 是一种专为巨大的图形可视化的软件系统。它可在个人电脑( PIII 600 256MB内存)管理多达50万的图形 。Tulip
架构提供下列功能:三维可视化,三维的修改,插件支持,支持集群和导航,自动图形绘制,自动聚类图,自动选择的内容,并自动着色元素等。 ...
更多Tulip信息&  计算机图形渲染库 Voreen&  Voreen是计算机图形可视化交互式卷库。它提供了数容积数据可视化技术和利用了可编程图形硬件(着色用)加速渲染。附带的应用程序允许创建和测试新的渲染技术。 Voreen实现与C + +和使用OpenGL / GLSL的渲染。 更多Voreen信息&  最新新闻: 图形渲染库 Voreen 2.0 发布发布于 5个月前&  C++向量图生成库 CreEPS&  CreEPS 是一个C++类,提供一个容易从内部生成的代码向量图的界面。该图存储为压缩的PostScript(EPS)的文件。它具有所有的基本图形元素,用户可配置的填充类型和printf风格的文本输出。包含大量例子文件。 更多CreEPS信息&  医学影像转换工具 XMedCon&  XMedCon 是一个医学专用影像档转换工具与程式库。以C语言撰写。 更多XMedCon信息&  Apache图像处理模块 mod_gfx& 
 mod_gfx 是一个对图像进行即时处理的 Apache 模块,安装方法: Ensure APXS, libgd, and gcc are
installed Compile module (run make) Copy module/mod_gfx.so to your
apache modules directory Configure Apache to use module Restart Apache
... 更多mod_gfx信息&  LibRaw&  LibRaw 是一个用来处理 RAW (CRW/CR2, NEF, RAF, DNG, and others) 格式图片的 C++ 库,支持各种操作系统。 更多LibRaw信息&  最新新闻: LibRaw 0.9.0 发布发布于 1个月前&  libQGLViewer& 
 libQGLViewer
是一个用以简化了Qt开发OpenGL三维浏览器的C++库。它提供了一些典型的3D查看器的功能,如能够移动相机使用鼠标,这是缺乏大多数其他的API
。其它特点包括鼠标操纵框架,插值关键帧,对象选择,立体显示,截图保存,等等。它可以使用OpenGL的初...
更多libQGLViewer信息&  OpenGL工具包 Freeglut&  Freeglut是一个GLUT (OpenGL Utility Toolkit) 的开源实现,使用非常广泛。OpenGL Redbook使用Freeglut代替GLUT编写代码。 更多Freeglut信息&  Cafu 3D引擎&  这个引擎支持一系列3D渲染,材质制作,多玩家在线,跨平台和可被多编译器编译。但它采用了双协议,商业版是闭源的,源代码在GPLv3许可证下发布。 更多Cafu 3D引擎信息&  WaYee3D Toolkit& 
 WaYee3D ToolKit 一个基C++和Ogre的插件式3D应用程序框架,开源。框架主要就是用来做编辑器这一类的应用程序。C++
插件式软件架构。 MFC Ribbon界面command 模式Undo/Redo支持。Unicode支持。 ... 更多WaYee3D
Toolkit信息&  渲染器的高级着色语言 Open Shading Language& 
 Open Shading Language (OSL) is a small but rich language for
programmable shading in advanced renderers and other applications. OSL
is similar to C, as well as other shading languages, however, it is
specifically designed for advanced re... 更多Open Shading Language信息&  begtostudy-imagelib&  begtostudy-imagelib 是一个开源的VC图像库 更多begtostudy-imagelib信息&  Magick++&  Magick++ 是 ImageMagick 图像处理库的面向对象 C++ API 调用包。 更多Magick++信息&  Equalizer&  Equalizer is a programming interface and resource management system for scalable OpenGL applications. 更多Equalizer信息&  Python图像处理 Mahotas&  Mahotas 是一个 Python 的图像处理库,包含大量的图像处理算法,使用 C++ 实现的算法,处理性能相当好。 更多Mahotas信息 光栅化软件渲染器 SoftArt& 
 SoftArt是一款光栅化的软件渲染器,设计目标是达到Direct3D 10/11的核心功能的实现。我们的设计目的主要包括以下几点:
一个高度可移植的光栅化图形管线的软件实现图形硬件工作原理的展现和教学为下一代Many
Core或Larrabee类的多x86处理器架构的计算设... 更多SoftArt信息&  图形布局引擎 GLE& 
 GLE (Graphics Layout Engine) 是一个图形脚本语言,主要为创建图表、数据和幻灯片而用,支持多种图表类型
(function plots, histograms, bar graphs, scatter plots, contour lines,
color maps, surface plots, ...) ,使用简单,仅需通过一些图形化命令... 更多GLE信息&  OpenCSG& 
 OpenCSG is a library that does image-based CSG(Constructive Solid
Geometry) rendering using OpenGL. OpenCSG is written in C++ and supports
most modern graphics hardware using Microsoft Windows or the Linux
operating system.... 更多OpenCSG信息&  图像处理和分析 Leptonica&  Leptonica 广泛用于图像处理和图像分析应用。 更多Leptonica信息&  QTeXEngine& 
 QTeXEngine 是一个 QtiPlot 的扩展插件,用来将二维的图形转成 TeX 格式文档,所有通过 QtiPlot 的
QPainter 绘制的图形都可以通过它来导出,下面是一个例子: void MyClass::exportTeX(const
QString& fileName){QTeXPaintDevice tex(fileName, QSi...
更多QTeXEngine信息&  lib3ds&  lib3d 是一个用于读取3ds格式三维模型的标准类库 更多lib3ds信息
阅读(...) 评论()

我要回帖

更多关于 c语言数组 的文章

 

随机推荐