[谁帮我设计班里圣诞节的大概程序]第一天: 好好睡一觉9点起床,然后9:30出发(吃不吃早餐你们决定)。 9:30--11:00 闲逛,比如商场、圣诞节人人可以参加活动的场所; 11:50--12:30 找一家你们喜欢的口味饭店就餐(也可以...+阅读
给你一个读bmp的类 ImgCenterDib 类 使用其中的 BOOL ImgCenterDib::Read(LPCTSTR lpszPathName) 函数就可以 具体的自己研究一下这个 里面有 怎么读的。 其实说vc6只能读bmp 是不对的 我也在vc6下读jpeg等格式的 如果需要我也可以贴出来 // .h文件 #ifndef _INSIDE_VISUAL_CPP_IMGCENTERDIB #define _INSIDE_VISUAL_CPP_IMGCENTERDIB //ImgCenterDib类,image processing center,北航图像中心编写的DIB类 //ImgCenterDib类 class ImgCenterDib { public: //图像数据指针 unsigned char * m_pImgData; //图像颜色表指针 LPRGBQUAD m_lpColorTable; //每像素占的位数 int m_nBitCount; //指向DIB的指针(包含BITMAPFILEHEADER,BITMAPINFOHEADER和颜色表) LPBYTE m_lpDib; private: //图像信息头指针 LPBITMAPINFOHEADER m_lpBmpInfoHead; //调色板句柄 HPALETTE m_hPalette; //颜色表长度 int m_nColorTableLength; public: //不带参数的构造函数 ImgCenterDib(); //带参数的构造函数 ImgCenterDib(CSize size, int nBitCount, LPRGBQUAD lpColorTable,unsigned char *pImgData); //析构函数 ~ImgCenterDib(); //DIB读函数 BOOL Read(LPCTSTR lpszPathName); //DIB写函数 BOOL Write(LPCTSTR lpszPathName); //DIB显示函数 BOOL Draw(CDC* pDC, CPoint origin, CSize size); //逻辑调色板生成函数 void MakePalette(); //获取DIB的尺寸(宽高) CSize GetDimensions(); //清理空间 void Empty(); //用新的数据替换当前DIB void ReplaceDib(CSize size, int nBitCount, LPRGBQUAD lpColorTable, unsigned char *pImgData); //计算颜色表的长度 int ComputeColorTabalLength(int nBitCount); protected: //图像的宽,像素为单位 int m_imgWidth; //图像的高,像素为单位 int m_imgHeight; }; #endif // _INSIDE_VISUAL_CPP_IMGCENTERDIB ////////////////////////////////////////////////////////// //cpp文件 #include "stdafx.h" #include "ImageCenterDib.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif /*********************************************************************** * 函数名称: * ImgCenterDib() * *说明:无参数的构造函数,对成员变量进行初始化 ***********************************************************************/ ImgCenterDib::ImgCenterDib() { m_lpDib=NULL;//初始化m_lpDib为空。
m_lpColorTable=NULL;//颜色表指针为空 m_pImgData=NULL; // 图像数据指针为空 m_lpBmpInfoHead=NULL; // 图像信息头指针为空 m_hPalette = NULL;//调色板为空 } /*********************************************************************** * 函数名称: * ImgCenterDib() * *函数参数: * CSize size -图像大小(宽、高) * int nBitCount -每像素所占位数 * LPRGBQUAD lpColorTable -颜色表指针 * unsigned char *pImgData -位图数据指针 * *返回值: * 无 * *说明:本函数为带参数的构造函数,给定位图的大小、每像素位数、颜色表 * 及位图数据等信息,创建ImgCenterDib类的对象 ***********************************************************************/ ImgCenterDib::ImgCenterDib(CSize size, int nBitCount, LPRGBQUAD lpColorTable, unsigned char *pImgData) { //如果没有位图数据传入,我们认为是空的DIB,此时不分配DIB内存 if(pImgData==NULL){ m_lpDib=NULL; m_lpColorTable=NULL; m_pImgData=NULL; m_lpBmpInfoHead=NULL; m_hPalette = NULL; } else{//如果有位图数据传入 //图像的宽、高、每像素位数等成员变量赋值 m_imgWidth=size.cx; m_imgHeight=size.cy; m_nBitCount=nBitCount; //根据每像素位数,计算颜色表长度 m_nColorTableLength=ComputeColorTabalLength(nBitCount); //每行像素所占字节数,必须扩展成4的倍数 int lineByte=(m_imgWidth*nBitCount/8+3)/4*4; //位图数据缓冲区的大小(图像大小) int imgBufSize=m_imgHeight*lineByte; //为m_lpDib一次性分配内存,生成DIB结构 m_lpDib=new BYTE [sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * m_nColorTableLength+imgBufSize]; //填写BITMAPINFOHEADER结构 m_lpBmpInfoHead = (LPBITMAPINFOHEADER) m_lpDib; m_lpBmpInfoHead->biSize = sizeof(BITMAPINFOHEADER); m_lpBmpInfoHead->biWidth = m_imgWidth; m_lpBmpInfoHead->biHeight = m_imgHeight; m_lpBmpInfoHead->biPlanes = 1; m_lpBmpInfoHead->biBitCount = m_nBitCount; m_lpBmpInfoHead->biCompression = BI_RGB; m_lpBmpInfoHead->biSizeImage = 0; m_lpBmpInfoHead->biXPelsPerMeter = 0; m_lpBmpInfoHead->biYPelsPerMeter = 0; m_lpBmpInfoHead->biClrUsed = m_nColorTableLength; m_lpBmpInfoHead->biClrImportant = m_nColorTableLength; //调色板句柄初始化为空,有颜色表时,MakePalette()函数要创建新的逻辑调色板 m_hPalette = NULL; if(m_nColorTableLength!=0){ //若有颜色表,则将颜色表拷贝进DIB的颜色表位置 //用m_lpColorTable指...
以下为关联文档:
MFC单文档读取图片你的Button按钮响应函数() { CBitmap bmp; bmp.LoadBitmap(IDB_BMP); BITMAP pbitmap; bmp.GetBitmap(&pbitmap); CDC dcCompatible; dcCompatible.CreateCompatibleDC(pDC);...
如何在mfc单文档的程序中显示图片CRect rect; GetClientRect(&rect);//获得客户区空间大小 CClientDC dc(this);//获得当前客户区窗口对象 CDC memDC;//定义内存中的绘图空间 CBitmap NewBitmap,*Old; NewBitma...
MFC基于单文档的程序读取一幅bmp图片并显示有一些代码看不懂这是双缓冲绘图。 双缓冲绘图步骤: 1、加载图像 代码中是用的HBITMAP方式,就是下面这段。(还可以是GDI+等等) HBITMAP hBitmap= (HBITMAP)LoadImage(NULL,BmpName,IMAGE_BITMAP,...
vba怎么读取系统剪贴板中的图片到image控件VBA不能直接读取剪切板的内容,需要分两步,先将剪切板内容保存到JPG,再从JPG中读取图片到IMAGE控件。 代码如下: Option Explicit Private Type GUID Data1 As Long Data2 As Int...
vb读取剪贴板图象读取用 Picture1.picture=ClipBoard.GetData 放大 Picture2.PaintPicture Picture1.Picture, 0, 0, Picture2.Width, Picture2.Height, 0, 0, _ Picture1.Width, Picture1.H...
求 NET程序员求职简历模板求职意向: 。net程序员 姓 名: *** 性 别: * 出生年月: 1980年 1月 健康状况: 良好 毕业院校: **软件学院 专 业: 软件工程 电子邮件: 123163.com 手 机: ******* 联系电话: ***** 通...
电脑开网页读取图片很慢这也就是网速很慢! 有可能是打开时间长了,清理一下缓存! 网速慢主要是有以上的原因造成的,个人建议你,先清理一下电脑的垃圾进程,优化一下系统,还有木马也是一个害虫 网速慢的几种...
用c语言编写一个屏保程序可以显示一个动态图片for(x=n;x>=3;x--)'判断的最小值为3,小于3的值就没有意义 { if(!(x mod 3) or !(x mod 7))'被3除无余数或被7除无余数 count+=x; } x=n; while(x-->=4)'因为是先判断后自减程...
物业服务企业的设立程序是怎样进行的1 。 向上级主管部门提出设立物业管理公司的申请: 这主要适用于自主经营型的。通常,具有房屋产权的事业或企业单位,在设立物业管理公司时,需要向主管部门提出设立公司的申请。应...