各位帮帮我,急啊。
解决方案 »
- 如果一个ATL控件要用到MFC程序中,那么这个控件是否也要支持MFC
- 请教关于IOCP完成端口 工作线程的问题
- 关于Activex怎么样向一个Urlpost数据.并且能够保持session信息?
- 请问调用window api的编译设置问题?
- 一个关于考研要找导师的问题.
- 请问大侠:CButtonST类如何应用在视图中?
- 浏览CSDN页面太累了(首页闪烁频率太快,里面字体不舒服),建议将页面的楷体字改为宋体字,同意的推一把啊,呵呵
- 请问.WDL 电子书籍用什么看啊?谢谢
- Help!有关MAPI,高手请进。
- 问一个简单的问题,堆会不会用到虚拟内存的?还是只用物理内存?
- Visual Studio 2005的使用问题
- ========显示动态GIF图片的问题,会不会都进来看看(帮顶、回复都有分)========
//以下代码保存memDC中的位图到文件
BITMAP bmp;
memBitmap.GetBitmap(&bmp);//获得位图信息
FILE *fp = fopen(filename, "w+b"); BITMAPINFOHEADER bih = {0};//位图信息头
bih.biBitCount = bmp.bmBitsPixel;//每个像素字节大小
bih.biCompression = BI_RGB;
bih.biHeight = bmp.bmHeight;//高度
bih.biPlanes = 1;
bih.biSize = sizeof(BITMAPINFOHEADER);
bih.biSizeImage = bmp.bmWidthBytes * bmp.bmHeight;//图像数据大小
bih.biWidth = bmp.bmWidth;//宽度
BITMAPFILEHEADER bfh = {0};//位图文件头
bfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);//到位图数据的偏移量
bfh.bfSize = bfh.bfOffBits + bmp.bmWidthBytes * bmp.bmHeight;//文件总的大小
bfh.bfType = (WORD)0x4d42;
fwrite(&bfh, 1, sizeof(BITMAPFILEHEADER), fp);//写入位图文件头
fwrite(&bih, 1, sizeof(BITMAPINFOHEADER), fp);//写入位图信息头
byte * p = new byte[bmp.bmWidthBytes * bmp.bmHeight];//申请内存保存位图数据 GetDIBits(memDC.m_hDC, (HBITMAP) memBitmap.m_hObject, 0, Height, p,
(LPBITMAPINFO) &bih, DIB_RGB_COLORS);//获取位图数据 fwrite(p, 1, bmp.bmWidthBytes * bmp.bmHeight, fp);//写入位图数据
不过我读的是gif
存成JPG
具体方法如下:
在C**App类的h文件中添加如下:////////////////////////////////////////
//必要的宏 以及头文件
#define UNICODE
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif
#include <gdiplus.h>//你安装的gdiplus.h的位置
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib") //link gdiplus.lib////////////////////////////////////////
然后在C**App类中添加如下成员变量!
(不可作为全局变量,否则link时出错,重复定义)
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;然后到InitInstance中:
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
到ExitInstance中:
Gdiplus::GdiplusShutdown(m_gdiplusToken);
[email protected]
http://www.bypro.net/PostAttachment.aspx?PostID=21279&AttachmentID=1786
请下载!再次声明:需要先配置好GdiPlus的环境
方法如下:
1 到
http://www.bypro.net/PostAttachment.aspx?PostID=21280&AttachmentID=1787
下载GdiPlus开发包,释放到VC的相应Include、lib文件夹中,把dll放到windows文件夹中2 到VC的Tools-Directories中分别添加一项Include和lib,指向你刚才释放的文件夹。
比如我添加一项IncludeFiles为:C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\INCLUDE\GDIPLUS
添加一项LibraryFiles为:D:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\LIB\GDIPLUS然后就可以打开工程文件,进行编译了如果还有疑问,请直接发Email联系。