问题标签 [cbitmap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winapi - 如何使用 MFC 正确地将 ICON 转换为 BITMAP?
我正在通过加载另一个应用程序的图标
如何CBitmap
从此图标创建对象?
具体来说(在我的 dup 问题中没有真正回答):
- 哪个设备上下文?
- 最后,我想要一个
CBitmap
比转换图标的函数更有效的对象: - 我需要立即清理什么,我需要保留什么?(
DC
, ...?)
这是我到目前为止的代码:
现在,这段代码有效,但我不明白:
- 为什么我需要一个
CClientDC
?(如果我只使用 CDC,则不显示位图或黑白,这取决于我放置它的位置。) - (为什么)
dc.SelectObject( pOldBmp )
需要这条线? - 为什么我必须这样做
CopyImage
?(如果我不这样做,位图有时会用反色绘制。) - 此代码是否泄漏任何内容或是否已正确清理所有内容?
这是另一个似乎也有效的版本:
c++ - 将图像从 CDC 传输到 CBitmap
如何将图像从 CDC 传输到 CBitmap?整个问题:我在 CBitmap A 中有一个大图像。我需要将此图像的一部分传输到多个 CBitmap 以存储到矢量中,因为我不能为此使用多个 CDC :) 我制作一个准备好的CDC进入一个循环(获取CBitmap A的必要部分)然后我需要将它转移到CBitmap x。我该怎么做?
这是我的代码:
// 没关系 - 我有源图片
// 我这里有黑色方块!- 以前的代码有问题
// 而后来的 CBitmaps 是黑色方块
我找到了解决方案!
解析 CBitmap 并初始化向量
画:
bitmap - 将 CBitmap 保存到 .bmp 文件
我正在CBitmap
使用CDC
. 完成后,我想将其保存到文件中。我已经看到了一些关于该代码LINK的过程:
我的疑问是关于BITMAPFILEHEADER
and BITMAPINFOHEADER
。我怎样才能用给定的CBitmap
or填充它们CDC
?
image-processing - 如何在 CMFCToolBar 中将 PNG 图像添加为按钮图像?
似乎 CMFCToolBar 只允许 BITMAP 图像(颜色深度为 24 )放置在按钮上。如何摆脱这种限制。我既不能放置 PNG 也不能放置颜色深度为 32 的位图(包括 alpha 通道)。
我尝试将我的 CPngImage 附加到 CBitmap 但没有用。
所以,最后我怀疑我们是否可以将带有 alpha 通道的 PNG/位图作为图像添加到 CMFCToolBar 按钮?
visual-c++ - c++ - mfc / 想要将位图添加到 cbutton。CButton 没有成员 setBitmap 并且 BM_SETIMAGE 也不能用于 sendMessage
这是我关于stackoverflow的第一个问题,我希望我做的一切都正确:S
如我的标题中所述,我正在使用 mfc 进行视觉工作室(2012)项目。我尝试向我的 cbutton 添加一个位图,该位图被插入到我的对话框的设计视图中。
我读过的所有帖子都描述了使用 setBitmap 或 sendMessage 来做到这一点。我总是尝试在对话框的 onInit() 函数中执行此操作。当我(尝试)像这样使用 setBitmap() 时:
它会导致 IntelliSense 错误:
IntelliSense:类“CButton”没有成员“setBitmap”
另一种尝试是使用 sendMessage:
首先,我遇到了另一个 IntelliSense 错误:
IntelliSense:标识符“BM_SETIMAGE”未定义
就像我在另一篇文章中读到的那样,我自己定义了“BM_SETIMAGE”:
现在代码可以编译了,但是按钮仍然没有显示位图……由于互联网上的每个帖子都使用这两种解决方案之一,我很无奈。有人知道有什么问题吗?如果没有,也感谢您的阅读:)
c++ - 如何获取和操作 CBitmap 信息
我是 C++ 的新手,而且 MFC 少一些,所以我的问题很简单。我在大学期间一直在使用 MatLab 进行图像处理这里是问题:
我已经读取了.bmp
图像并将其存储到CBitmap
对象中,但我不知道如何从该对象获取信息,例如(宽度,长度)以像素为单位。在 matlab 中,我曾经在读取图像时得到一个矩阵,并且我可以轻松地将过滤器应用于该矩阵。
图像被读取为
我可以读取单个像素的值并进行算术运算来更改它。我可以对一个CBitmap
对象做同样的事情吗?或者我应该将图像读入二维数组之类的东西吗?
c++ - 屏幕截图仅返回黑色图像
我正在尝试对 MFC 应用程序中的主对话框进行屏幕截图并将其保存为图像文件。我尝试了我可以在网上找到的每个示例,并且总是得到相同的结果:图像文件具有正确的尺寸(我尝试使用除主要对话框之外的对话框来确定),但它都是黑色的。我最近的解决方案是使用 CBitmap 类将主对话框句柄传输到 CImage。这是我的代码:
visual-c++ - 初学者 在 MFC C++ 中,为什么设备上下文需要创建一个旧的 Font/Bitmap/etc 指针,然后在最后 selectObject() 呢?
一个例子:
代码在原点(移动到窗口的中心)周围的圆圈中打印“Hello,MFC”。
为什么创建 CFont 指针然后 dc 选择它作为字体?这只是良好的编程实践还是这个应用程序真的需要它?
我在网上看到过类似的代码,它使用位图和其他设备上下文对象执行此操作。目的是什么?
当我删除最后一行代码时,没有任何变化。在此先感谢您的帮助。
c++ - MFC 将屏幕的一部分复制到 CBitmap
使用功能
OnEraseBkgnd(CDC* pDC)
我在 CDialog 派生类上写了一个填充屏幕的背景图像。
然后在 OnPaint 内部,我有以下代码只执行一次(第一次调用 OnPaint)。
上述代码,将屏幕的 m_InfoBarRect 部分复制到内存 CBitmap 中。
除了拥有背景图像的一部分,我只得到一个具有正确尺寸的空白填充矩形。
我的代码有问题吗?
c++ - 多次调用后 LoadBitmap 失败
在这个函数中,经过大约 90 次调用(它在循环中调用,其想法是每次加载单独的图像,但为了简单起见,我将其保留为一个图像)。全局变量现在更改为本地变量。
我希望有人能提出一个想法,有什么问题。GetLastError 返回“8”,这对我来说毫无意义。