【问题标题】:Pixel manipulation in Bitmap image using MFC使用 MFC 处理位图图像中的像素
【发布时间】:2009-05-09 11:38:52
【问题描述】:

您好,我使用 MFC 对话框创建了一个对话框。 使用下面的 url 我在对话框中显示了一张位图图片。

http://www.functionx.com/visualc/applications/displaybitmap.htm

我没有为此编写任何代码。我只是将位图图片添加到导入图片对话框并使用图片控件并按照教程... 当我运行我的应用程序时,它会显示图像... 现在我想知道是否可以使用此图像进行像素操作... 为什么我问这意味着我还没有为图像的显示编写任何代码...... 请在这方面澄清我.... 非常感谢

【问题讨论】:

    标签: windows visual-c++ mfc msdn


    【解决方案1】:

    GetDIBits() 和 consorts 是您所追求的。坦率地说,win32 图像和 DC 操作是一个相当高级的主题,您需要做更多的工作而不是遵循教程才能正确处理。首先阅读 GetDIBits() 和相关函数的 msdn 文档,然后阅读 Petzold 中的相关部分,然后阅读 codeproject.com 上所有提到 GetDIBits() 的文章。这应该足以教会您进行低级位图操作。

    或者,更好地表达您的问题(即,解释您的问题以及您想要实现的目标),也许有人可以为您提供快速而肮脏的解决方案。

    【讨论】:

      【解决方案2】:

      我记得有一个 Win32 API 来加载和解码位图。

      一旦您将位图作为 RGB 缓冲区保存在内存中,您就可以对其进行修改。然后,您需要将修改后的缓冲区作为新的位图发出,API 会再次为您执行此操作。

      当然要注意,如果在内存中有位图,然后您希望增加图像的尺寸,则需要适当的缓冲区操作 - 没有用于通用位图编辑的 Win32 API。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 2015-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多