有没有快速保存控件上的图片的方法,路径写好了已经,点一下按钮保存一下控件上的图片。
1条回答 默认 最新
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/239776
- 这篇博客你也可以参考下:MFC对话框的状态栏添加进度条
- 这篇博客也不错, 你可以看下MFC对话框的状态栏添加进度条
- 除此之外, 这篇博客: MFC图片保存中的 代码如下: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
void CVoronoi2View::OnFileSaveAs() { CClientDC dc(this); CRect rect; //GetClientRect(&rect); //获取画布大小 rect.left = 0; rect.right = boxlength;//boxlength为宏定义 rect.top = 0; rect.bottom = boxwidth; HBITMAP hbitmap = CreateCompatibleBitmap(dc, rect.right - rect.left, rect.bottom - rect.top); //创建位图 HDC hdc = CreateCompatibleDC(dc); //创建DC,以便将图像保存为不同的格式 HBITMAP hOldMap = (HBITMAP)SelectObject(hdc, hbitmap); //将位图选入DC,并保存返回值 BitBlt(hdc, 0, 0, rect.right - rect.left, rect.bottom - rect.top, dc, 0, 0, SRCCOPY); //将屏幕DC的图像复制到内存DC中 CImage image; image.Attach(hbitmap); //将位图转化为一般图像 CString saveFilePath; { CString strFilter = _T("位图文件(*.bmp)|*.bmp|JPEG 图像文件|*.jpg|GIF图像文件 |*.gif| PNG图像文件 |*.png|其他格式(*.*)| *.* ||"); CFileDialog dlg(FALSE, _T("bmp"), _T("Picture01.bmp"), NULL, strFilter); if (dlg.DoModal() != IDOK) return; CString strFileName; //文件扩展名 CString strExtension; strFileName = dlg.m_ofn.lpstrFile; if (dlg.m_ofn.nFileExtension = 0) { switch (dlg.m_ofn.nFilterIndex) { case 1: strExtension = "bmp"; break; case 2: strExtension = "jpg"; break; case 3: strExtension = "gif"; break; case 4: strExtension = "png"; break; default: break; } strFileName = strFileName + "." + strExtension; } saveFilePath = strFileName; } HRESULT hResult = image.Save(saveFilePath); //保存图像 image.Detach(); SelectObject(hdc, hOldMap); }
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因