社区
图形处理/算法
帖子详情
求救,为什么我保存的位图是黑屏?谢谢!
ll42002
2003-12-03 09:24:31
在一个客户区画图,由于超过屏幕可显示的范围,所以不能用考屏的方法保存,
我的做法是先得到与屏幕设备环境兼容的内存区域,然后在内存中画图,最后将
在内存中的图保存。
请各位大侠看看这种方法可行吗?
如果可行,为什么我保存的图象是黑屏内?
谢谢!
...全文
183
8
打赏
收藏
求救,为什么我保存的位图是黑屏?谢谢!
在一个客户区画图,由于超过屏幕可显示的范围,所以不能用考屏的方法保存, 我的做法是先得到与屏幕设备环境兼容的内存区域,然后在内存中画图,最后将 在内存中的图保存。 请各位大侠看看这种方法可行吗? 如果可行,为什么我保存的图象是黑屏内? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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);
java 扫雷源代码 带有详细的注释
菜鸟练习~~ 加入了“
求救
”按钮,在无法继续通过计算扫雷时,可以点出此获知随机的一个未标记雷的位置; 加入了计时器; 加入了作弊功能……嘿嘿,按下键盘上的某键,可以知道所有雷的位置,吼吼
危!博客园,命悬一线!
推荐阅读:《为爱发电的博客园要没了??!》《果然,人性是经不起考验的》1博客园博客园又一次,命悬一线了。今年 4 月份的时候,博客园就爆出经营危机,当时我也写了文章《为爱发电的博客园要没了??!》。当时博客园处于非常危险的境地,看他们发文的意思,很有可能公司的营收都支撑不起服务器的费用了。很多很多程序员都帮忙博客园出主意,但说实话虽然大家都很热心,但也真的很难实际帮到他们。后面官方也公布了捐款的渠...
linux 命令 unicode,Linux下怎么把读出的unicode码转成中文
保存
到文件里
Linux下如何把读出的unicode码转成中文
保存
到文件里啊Linux下如何把读出的unicode码转成中文
保存
到文件里啊?我把短信内容读出来看到的全是unicode码,怎么将它们转成中文
保存
到文件里啊?
求救
!!!------解决方案--------------------//iconv_linux下字符集编码转换轻松实现(1)iconv_ticonv_open(constchar*to...
求救
!如何在rave中实现表中字段的动态增减??
我做一个考勤报表,用 的是rave report 5.0 ,如何对字段动态的增加和减少。例如:我要对报表增加一旷工次数的字段 或者减少一个迟到次数的字段 有谁能告诉我们 具体怎么实现吗?
谢谢
!!指教!
燕麦云何洋开讲丨你怎么还在用移动硬盘
保存
商业秘密?!
前两天一位朋友向我
求救
,他的移动硬盘坏了,插上USB接口后识别不了,却偏偏赶上急用,问我能不能想办法把里面的重要数据读取出来。还好,这个移动硬盘只是出现了轻微坏道,很快我就顺利帮他把硬盘中的数据完整提取及备份出来了。 但是在和朋友的沟通中,我注意到他的一些想法早已属于上个时代、甚至根本就是错的,于是想借今天的《何洋开讲》跟大家分享一下我的看法,希望大家尽早建立起更先进的信息存储理
图形处理/算法
19,469
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章