社区
图形处理/算法
帖子详情
怎么用StretchDIBits直接显示JPEG图像?
lpj
2005-08-18 12:25:20
查StretchDIBits的文档,说是对于win98, win2000及以后的版本可以直接显示,
不过它给的例子里CHECKJPEGFORMAT,ExtEscape都需要windows的头文件来定义,
我查了自己的机器上相应的头文件都没有这些关键字的定义。
请问如何才能用StretchDIBits直接显示?速度是不是比使用jpeglib快?
...全文
389
10
打赏
收藏
怎么用StretchDIBits直接显示JPEG图像?
查StretchDIBits的文档,说是对于win98, win2000及以后的版本可以直接显示, 不过它给的例子里CHECKJPEGFORMAT,ExtEscape都需要windows的头文件来定义, 我查了自己的机器上相应的头文件都没有这些关键字的定义。 请问如何才能用StretchDIBits直接显示?速度是不是比使用jpeglib快?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2005-09-06
打赏
举报
回复
cximage这个库,没有测试过
或者intel的jpeg库,它宣称比微软的快1倍
http://www.dogma.net/markn/articles/IntelJpgLibrary/
lpj
2005-09-06
打赏
举报
回复
利用这个帖子再问个问题,也是相关的,
请问怎么利用显卡硬解压功能编程?
lpj
2005-08-22
打赏
举报
回复
谢谢各位,
我希望能找到一个比jpeglib更快的jpeg解码方法,不知道大家知道不?
lixiaosan
2005-08-18
打赏
举报
回复
http://www.codeproject.com/bitmap/cximage.asp
http://www.codeproject.com/bitmap/pictureshow.asp
老夏Max
2005-08-18
打赏
举报
回复
使用GDI+操作之
DentistryDoctor
2005-08-18
打赏
举报
回复
使用IPicture
saliors
2005-08-18
打赏
举报
回复
用IPicture就可以了,程序:
HRESULT ShowPic(CString lpstrFile, HWND hwnd, int nScrWidth, int nScrHeight)
{
HDC hDC_Temp = ::GetDC(hwnd);
IPicture *pPic;
IStream *pStm;
BOOL bResult;
HANDLE hFile = NULL;
DWORD dwFileSize, dwByteRead;
// 打开硬盘中的图形文件
hFile = CreateFile(lpstrFile,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hFile != INVALID_HANDLE_VALUE)
{
dwFileSize = GetFileSize(hFile, NULL); // 获取文件字节数
if (dwFileSize == 0xFFFFFFFF)
return E_FAIL;
}
else
{
return E_FAIL;
}
// 分配全局存储空间
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwFileSize);
LPVOID pvData = NULL;
if (hGlobal == NULL)
return E_FAIL;
if ((pvData = GlobalLock(hGlobal)) == NULL) // 锁定分配内存块
return E_FAIL;
ReadFile(hFile, pvData, dwFileSize, &dwByteRead, NULL); // 把文件读入内存缓冲区
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal, TRUE, &pStm);
// 装入图形文件
bResult=OleLoadPicture(pStm, dwFileSize, TRUE, IID_IPicture, (LPVOID*)&pPic);
if(FAILED(bResult))
return E_FAIL;
OLE_XSIZE_HIMETRIC hmWidth; // 图片的真实宽度
OLE_YSIZE_HIMETRIC hmHeight; // 图片的真实高度
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
// 将图形输出到屏幕上(有点像BitBlt)
bResult = pPic->Render(hDC_Temp,
0,
0,
nScrWidth,
nScrHeight,
0,
hmHeight,
hmWidth,
-hmHeight,
NULL);
pPic->Release();
pStm->Release();
CloseHandle(hFile); // 关闭打开的文件
if (SUCCEEDED(bResult))
{
return S_OK;
}
else
{
return E_FAIL;
}
}
teli_eurydice
2005-08-18
打赏
举报
回复
IPicture
老夏Max
2005-08-18
打赏
举报
回复
Cximage使用的就是jpeg的库,呵呵,只不过它支持更多种格式的图片而已。
lpj
2005-08-18
打赏
举报
回复
使用Cximage和CPicture解压jpeg图像能快过使用jpeglib吗?
St
re
tchDI
Bits
使用说明 例程
St
re
tchDI
Bits
使用说明 例程
JPEG
文件读入并
显示
读入
JPEG
格式的图片文件,打开
JPEG
格式图片文件,运行环境vc++6.0,构造
显示
界面
WinCE下利用
JPEG
库对
图像
进行解码
在EVC4.0下创建一个对话框应用程序,运行环境为WinCE5.0,利用IJG提供的
JPEG
库对JPG进行解码操作,并在内存中创建一个设备无关位图,可以很方便的得到
图像
的数据和
显示
一幅JPG图片。
VC++编写的DIB
图像
的
显示
此程序是在VC6.0平台上编写的可用于DIB
图像
的
显示
及FFT和离散余弦变换。
CVIEW
显示
灰度图示例
CVIEW
显示
灰度图示例,代码在https://blog.csdn.net/liji_digital/article/details/84502750 有解释
图形处理/算法
19,469
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章