单文档中,保存窗口某一区域图像信息

sciencstf sciencstf 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想在在窗口中显示很多张图片,我想以他们左上角的坐标为基准进行图像保存,可是我不知道在哪里修改这个左上角值的设定。这是我保存图像的代码

int xcount = 0;//每行几张图片
int ycount = 0;//多少行

for (int i = 0 ; i < file_num ; i++)
{
CClientDC dc(this);
CBitmap bmpForSave;
CDC cdcForSave;
CRect r
GetClientRect(&r);
bmpForSave.CreateCompatibleBitmap(&dc , point.x, point.y);
cdcForSave.CreateCompatibleDC(&dc);
cdcForSave.SelectObject( bmpForSave );
cdcForSave.BitBlt(0,0,point.x,point.y,&dc,0,0,SRCCOPY);//point.x 和point.y是图片大小
//OnDraw( &cdcForSave );

//这里是循环命名给图片
CString filemuns ;
filemuns.Format("%d",i);
CString strFilesName = strFileName +filemuns+ '.' + strExtension;
SaveBitmap( (HBITMAP)bmpForSave , strFilesName );//这个函数就是保存函数

//换行判断
if (xcount < 2)
{
xcount++ ;
}
else
{
xcount = 0 ;
ycount++;
}
}
ReleaseDC(&dc);
if (AfxMessageBox("图像保存完毕!"))
{
PostMessage(WM_QUIT);
}





void CImageView::SaveBitmap(HBITMAP hBitMap,CString FileName)
{
CImage image;
image.Attach( hBitMap );
image.Save( FileName );
image.Detach();
}

...全文
评论 6
收藏 已收藏
分享
返回顶部
sciencstf
图形处理/算法 19,463 成员 50,678 内容