jpeg图象处理高手,菜鸟都请进!

jemmylau 2002-12-10 09:49:50
一段代码或者库,完成以下功能:

将屏幕或者窗口上的一个区域抓下来,并将它保存为jpg文件。
搞定后立刻结贴!
...全文
17 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
binshi 2003-02-22
  • 打赏
  • 举报
回复
请给我也发一个 binshi@erp-china.com 谢谢
jemmylau 2002-12-16
  • 打赏
  • 举报
回复
up
dazhuang 2002-12-16
  • 打赏
  • 举报
回复
请给我发一个 eastsealiu@qindaonews.com 谢谢!
guizi6 2002-12-12
  • 打赏
  • 举报
回复
我也要,谢谢
guizi6@sohu.com
iooi 2002-12-12
  • 打赏
  • 举报
回复
请给我一个:兄弟。谢谢hexun@toedu.com
tony03120 2002-12-12
  • 打赏
  • 举报
回复
关注。。。。。
romanticist 2002-12-11
  • 打赏
  • 举报
回复
留下mail发个例子给你
Nekel 2002-12-11
  • 打赏
  • 举报
回复
兄台给我一个,谢谢了.kunex@163.com
tony03120 2002-12-11
  • 打赏
  • 举报
回复
也来一个,tony03120@sina.com 谢了
romanticist 2002-12-10
  • 打赏
  • 举报
回复
IJL是Intel的库上面有这样的例子,自己去下载就可以了
zhenxizhou 2002-12-10
  • 打赏
  • 举报
回复
I haven't used .jpg file format.
up
yuga 2002-12-10
  • 打赏
  • 举报
回复
1。把那个区域的位图数据取出来
2。找个IJL.dll,把它存成jpeg

BOOL CDisplayModeView::SaveJpeg (LPTSTR szFile_Name, DWORD dwQuality)
{
// if (this->ColorBits () != 24)
// return FALSE ;

BYTE* m_bTmpSrcImg1=(BYTE*)malloc(m_nWidth * m_nHeight * 3);
for(int i=0;i<m_nHeight;i++)//32->24
for(int j=0;j<m_nWidth;j++)
{
*(m_bTmpSrcImg1+(long)i*m_nWidth*3+j*3)=*(m_bTmpSrcImg+(long)i*m_nWidth*4+j*4);
*(m_bTmpSrcImg1+(long)i*m_nWidth*3+j*3+1)=*(m_bTmpSrcImg+(long)i*m_nWidth*4+j*4+1);
*(m_bTmpSrcImg1+(long)i*m_nWidth*3+j*3+2)=*(m_bTmpSrcImg+(long)i*m_nWidth*4+j*4+2);
}


BOOL bRet = FALSE ;
__try
{
JPEG_CORE_PROPERTIES image ;
::ZeroMemory (&image, sizeof(image)) ;

//Init the IJL
if (ijlInit (&image) != IJL_OK)
__leave ;

image.DIBWidth = m_nWidth ;
image.DIBHeight = m_nHeight ;
image.DIBChannels = 3 ;
image.DIBPadBytes = ((m_nWidth * 24 + 31) / 32) * 4 - m_nWidth * 3 ;
image.DIBColor = IJL_BGR ;
image.JPGFile = const_cast<PTSTR> (szFile_Name) ;
image.JPGWidth = m_nWidth;//image.DIBWidth ;
image.JPGHeight = m_nHeight ;
image.jquality = dwQuality ;
image.JPGChannels = 3 ;
image.JPGColor = IJL_YCBCR ;
image.JPGSubsampling = IJL_411 ;
image.DIBBytes = m_bTmpSrcImg1; //位图数据this->GetBits (Height() - 1) ;
if (ijlWrite (&image, IJL_JFILE_WRITEWHOLEIMAGE) != IJL_OK)
__leave ;

ijlFree (&image) ;
__leave ;
bRet = TRUE ;
}
__finally
{
}
free (m_bTmpSrcImg1);

return bRet ;
}
jemmylau 2002-12-10
  • 打赏
  • 举报
回复
大家看看啊

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧