社区
图形处理/算法
帖子详情
求救,为什么我保存的位图是黑屏?谢谢!
ll42002
2003-12-03 09:24:31
在一个客户区画图,由于超过屏幕可显示的范围,所以不能用考屏的方法保存,
我的做法是先得到与屏幕设备环境兼容的内存区域,然后在内存中画图,最后将
在内存中的图保存。
请各位大侠看看这种方法可行吗?
如果可行,为什么我保存的图象是黑屏内?
谢谢!
...全文
208
8
打赏
收藏
求救,为什么我保存的位图是黑屏?谢谢!
在一个客户区画图,由于超过屏幕可显示的范围,所以不能用考屏的方法保存, 我的做法是先得到与屏幕设备环境兼容的内存区域,然后在内存中画图,最后将 在内存中的图保存。 请各位大侠看看这种方法可行吗? 如果可行,为什么我保存的图象是黑屏内? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ItomCat
2003-12-04
打赏
举报
回复
CDC MemDC; //首先定义一个显示设备对象
CBitmap memBitmap;
//随后建立与屏幕显示兼容的内存显示设备
MemDC.CreateCompatibleDC(pDC);
//下面建立一个与屏幕显示兼容的位图
memBitmap.CreateCompatibleBitmap(pDC,iWidth,iHeight);
//将位图选入到内存显示设备中
//只有选入了位图的内存显示设备才有地方绘图,画到指定的位图上
CBitmap *pOldBit=MemDC.SelectObject(&memBitmap);
//先用背景色将位图清除干净,这里是白色作为背景
MemDC.FillSolidRect(0,0,iWidth,iHeight,RGB(80,0,80));
//好了接着做你的事情吧...........
ll42002
2003-12-04
打赏
举报
回复
可是我在memDC中画图了呀,怎么是空的呀?
ll42002
2003-12-04
打赏
举报
回复
to ddddh
大侠,我是菜鸟,你说的我还是不太理解,能不能给个例子看看。分不够,我另开贴再加!谢谢!
我的邮箱是lilonglilong2002@163.com!
andone
2003-12-03
打赏
举报
回复
可行。把这段代码贴出来看看是不是代码问题
ddddh
2003-12-03
打赏
举报
回复
当然可行
不过记得一点,
// hdc 是Paint时候的hdc
HDC hmemdc = createcompatibleDC(hdc);
HBITMAP hBmp = CreateCompatibleBitmap(hdc); // 注意!!!这里的参数一定要是hdc,不能使hmemdc,因为缺省的dc是黑白单色的!!!!
SelectObject(hmemdc, hBmp);
...
ljzcom
2003-12-03
打赏
举报
回复
^_^,楼上的都说了
ddddh
2003-12-03
打赏
举报
回复
你必须crete一个bitmap选到你的memDC中!!
否则你的memDC是空的,当然是黑评了
记得用pDC来创建compatibleBitmap。
ll42002
2003-12-03
打赏
举报
回复
这就是我的绘图程序,大家帮忙看看!谢谢!
HDC hScrDC, hMemDC,hScrDC1;
HBITMAP hBitmap, hOldBitmap;
CDC pDC;
pDC.CreateDC("DISPLAY", NULL, NULL, NULL);
CDC memDC;
//创建兼容的设备环境
memDC.CreateCompatibleDC(&pDC);
DeleteDC(pDC);
CPen newPen(PS_DASHDOTDOT,2,(COLORREF)0);
memDC.SelectObject(&newPen);
//画图程序
。。。。。。。。。。。
//保存
CRect rc;
hScrDC = memDC.GetSafeHdc();
hMemDC = CreateCompatibleDC(hScrDC);
hBitmap = CreateCompatibleBitmap
(hScrDC, 2000, 2000);
hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap);
BitBlt(hMemDC, 0, 0, nWidth, nHeight,
hScrDC, 0, 0, SRCCOPY);
hBitmap = (HBITMAP)SelectObject(hMemDC, hOldBitmap);
//写入文件程序
SaveBitmapToFile(hBitmap, "save.bmp");
DeleteDC(hScrDC);
DeleteDC(hMemDC);
UG 2023 64bit 64 位系统设计软件.rar
UG NX 2023(Unigraphics NX,中文名交互式 CAD/CAM 系统),是西门子 Siemens PLM Software 研发的 CAD/CAE/CAM 一体化产品工程解决方案,提供全套数字化造型与仿真验证手段。软件功能强悍,可轻松完成各类复杂实体、曲面造型构建,广泛应用于机械装备、塑胶模具、汽车零部件、航空航天、数控加工、钣金设计等工业领域。 软件仅支持 Win10、Win11 64 位系统,不再兼容 Win7,硬件配置要求适中。软件集三维建模、工程制图、数控编程、力学与运动仿真等功能于一体,可兼容各类主流设计文件格式。 该版本优化了装配加载速度、曲面建模能力与刀路算法,运行稳定,是当下行业主流版本。 由于安装包文件过大,CSDN 无法直接上传,附件提供下载链接及配套安装教程,欢迎下载使用。
vivado XADC IP核使用教程
vivado XADC IP核使用教程
64 位 NX2023 UG 主流行业版本 无偿持续分享.rar
UG(Unigraphics NX)是一款由西门子(Siemens PLM Software)开发的交互式CAD/CAM/CAE系统。作为全球领先的产品工程解决方案,它集成了产品设计、工程仿真与制造加工于一体。其功能强大且应用广泛,能够轻松实现各种复杂实体和造型的构造,为模具、汽车、航空航天及通用机械等行业提供了高性能的机械设计与制图灵活性。
【变压器的开路试验】变压器进行开路试验时的电路连接配置(Simulink仿真实现)
内容概要:本文详细介绍了利用Simulink进行变压器开路试验的电路连接配置与仿真实现方法,重点在于通过仿真手段还原实际电力系统中变压器在空载条件下的电气特性,从而深入理解其工作原理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整流程,突出展示了MATLAB/Simulink在电力设备建模与教学科研中的强大功能与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本原理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电流、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文中提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。
SoloBlog.zip
SoloBlog.zip
图形处理/算法
19,466
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章