使用 MFC 对位图图像进行像素操作
您好,我使用 MFC 对话框创建了一个对话框。 使用下面的网址,我在对话框中显示了一张位图图片。
http://www.functionx.com/visualc/applications/displaybitmap.htm
我没有为此编写任何代码。我只是将位图图片添加到导入图片对话框中并使用图片控件并按照教程进行操作... 当我运行我的应用程序时,它显示图像... 现在我想知道是否可以使用这张图像进行像素操作...... 为什么我问这个意味着我没有编写任何代码来显示图像...... 请在这方面澄清我...... 非常感谢
hi i created a dialogbox using MFC dialog..
using below url i displayed a bitmap picture in a dialog box.
http://www.functionx.com/visualc/applications/displaybitmap.htm
i have not write any code for that.i just added the bitmap Picture into import picture dialog box and used picture control and followed the tutorial...
when i run my application it displays image...
now i would like to know is it possible to do pixel manipulation using this image...
why i ask this means i have not write any code for the display of image...
pls clarify me in this regard....
Thanks a bunch
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
GetDIBits() 和 consorts 就是您所追求的。 坦率地说,win32 图像和 DC 操作是一个相当高级的主题,您需要付出比遵循教程更多的工作才能正确完成它。 首先阅读 GetDIBits() 和相关函数的 msdn 文档,然后阅读 Petzold 中的相关部分,然后阅读 codeproject.com 上提及 GetDIBits() 的所有文章。 这应该足以教会您进行低级位图操作。
或者,更好地表达你的问题(即解释你的问题和你想要实现的目标),也许有人可以为你提供一个快速而肮脏的解决方案。
GetDIBits() and consorts is what you're after. Quite frankly, win32 image and DC manipulation is a rather advanced subject and you'll need to put in a lot more work than following a tutorial for getting it right. Start by reading the msdn docs for GetDIBits() and related functions, then read the relevant sections in the Petzold, then read all articles that mention GetDIBits() on codeproject.com. That should teach you enough to do low level bitmap manipulation.
Alternatively, phrase your question better (i.e., explain your problem and what you want to achieve) and maybe there's a quick and dirty fix that someone can offer you.
我记得有一个 Win32 API 来加载和解码位图。
一旦位图在内存中作为 RGB 缓冲区,您就可以对其进行修改。 然后,您需要将修改后的缓冲区作为新的位图发出,API 会再次为您完成此操作。
当然,请注意,如果内存中有一个位图,然后您希望增加图像的尺寸,则需要适当的缓冲区操作 - 没有用于通用位图编辑的 Win32 API。
There is I recall a Win32 API to load and decode bitmaps.
Once you have the bitmap in memory an as RGB buffer, you can modify it. You will then need to emit the modified buffer as a new bitmap, which again the API will do for you.
Be aware of course that having a bitmap in memory where you then wish for example to increase the dimensions of the image will require appropriate buffer manipulation - there is no Win32 API for generalized bitmap editing.