问题标签 [bitblt]
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.
c# - 调整窗体大小后将窗体捕获到位图
在 C# 中工作我有一个项目需要捕获位图Control
或Form
位图。我有一个类,它Control
在构造函数中接受一个参数,然后执行以下代码(为本示例简化)以保存Control
.
为我需要捕获的每个控件创建此类的一个实例,使用位图(在本例中将其绘制到屏幕上),并在不再需要时处理该对象。这很好用,并为我提供了指定Control
or的位图,Form
在后者的情况下包括非客户区,如下所示:
http://i.imgur.com/ZizXjNX.png
但是,如果我尝试Form
再次捕获 a,我会遇到问题。如果我Form
在再次捕获之前调整了它的大小,第二次捕获将显示非客户区不正确。
下面是一张图片来说明这一点 - 左边是表单在屏幕上的样子(正确),右边是上面的代码如何捕获它(不正确)。
http://i.imgur.com/y46kFDj.png
我没有从我自己的搜索中找到任何东西,所以想知道是否有人能指出我做错了什么/没有做什么?
c++ - 鼠标在windows中是如何渲染的
根据我的理解,使用 captureblt 调用 bitblt 会从显示器的帧缓冲区对象中提供缓冲区。在此缓冲区中,鼠标光标不存在。
在 Windows XP 中,连续的 bitblt 调用会使鼠标闪烁,我可以假设 - 鼠标被隐藏,执行渲染操作并返回帧缓冲区。但在 Windows 7 中,鼠标没有闪烁,但它没有在 bitblt 调用返回的缓冲区中捕获。鼠标在 Windows 7 中是如何渲染的?我可以以类似的方式渲染一些文本吗?
我需要在所有窗口的顶部覆盖文本,但它不应该出现在 bitblt 调用中。我试图看看我们是否可以渲染类似于鼠标的渲染方式。
c++ - 获取最小化窗口的 RGB 数据
我想获取最小化的运行窗口的特定部分的 RGB 数据,但我不太确定该怎么做。这是我的一段代码,用于获取指定矩形的窗口的位图信息。
但是,只有当没有另一个窗口与我有句柄的窗口重叠时,此功能才会起作用。
hwnd - 我的窗口的句柄 LoadBMPFromHandle 必须检索具有左上角坐标(leftTopX,leftTopY)和尺寸宽度 x 高度的矩形的 BGR(蓝绿红)数据。
谢谢你!
mfc - MFC 使用 OnMouseMove 绘制十字线
如下代码,我想用mpDC在鼠标点上画一条十字线,当我移动鼠标时,十字线会随着我的鼠标点移动,
但也许我不知道 BitBlt 的用法,所以我在绘制区域(rectRange)中看不到任何线条,
我绘制交叉线的另一种方法如下代码
目前的情况就是图片
但是这个代码在移动鼠标位置时会画很多交叉线,
如何清除上一个交叉线...
c++ - Win32 C++ BitBlt 透明度
更新看这篇文章的底部 我正在做的是尝试使用一个黑白位图,在白色上放置背景位图,在黑色上放置瓷砖覆盖。我遇到的问题是添加叠加层。
这是我的 BitBlt() 代码,此代码生成 #5。
我不确定是否使用相同的“hOldBitmp”,但它似乎做同样的事情。
透明的 blt 功能在这里也不能完全满足。
谢谢。
新的
我在组合和栅格化方面遇到了麻烦。我可以在一定程度上处理 DC 和位图,但这是我不知道该怎么做的一件事……创建内存 dcs,以及 dcs 来保存位图,dc 用于另一个位图,然后 bitblt 到内存。我认为...
这是我目前拥有的冗余代码。真的我需要伪代码的帮助,如何组合位图......需要多少个 DC,等等。
buffer.getBufferDC() 是屏幕上显示的主 DC。
c++ - Win32 C++ BitBlt 光栅方法和透明度
我最近问了一个关于这个的问题,并理解了答案,但无法将其翻译成代码。经过又一天的乱七八糟的东西,并修复泄漏。不过,我真的无法为我的生活弄清楚这一点。
这有点不同,我需要做的就是在地图位图下获取背景位图。
我的问题是结合...创建内存 dcs 以保留光栅操作的结果。我根本无法解决这个问题,任何帮助都会很棒。
谢谢。
c++ - 如何让 tesseract-ocr 从屏幕上的坐标读取?
我一直在尝试寻找如何制作一个类/函数的示例,该类/函数将尝试从指定坐标的屏幕读取文本。
一些简单的东西,将使用 bitblt 捕获屏幕的指定部分并在其上运行 tesseract。所有这些都在内存中完成,而无需将图像文件创建到磁盘。
Tesseract 的 API 似乎真的很差,并且需要所有事物的 TIF 图像,据我所知,如果不深入研究其代码,它甚至无法接受位图内存图像。
任何帮助将不胜感激,一个实际的例子将是理想的。
winapi - 如何在 Linux 中使用 bitblt?
我们可以在linux中使用bitblt吗?我看到了一个 bitblt 文档,其中指出 bitblt 是为处理 windows 中的图形操作而开发的,这让我感到困惑,是否可以在 linux 中使用 bitblt。
c++ - StretchBlt 这么慢 - 有什么好的选择吗?
我想调整图像大小。所以目前我这样做:
但这非常慢。
根据我的测试,BitBlt 比 StretchBlt 快 x75。我需要 BitBlt/StretchBlt 从 CompatibleDC 获取位数组。
我想尝试使用 BitBlt 而不是 StretchBlt(用于获取 RGB 24 位数组)并发送到我自己的函数来调整大小。
现在说正经的,我不具备编写比 StretchBlt 更快且质量与 HALFTONE 相同的函数的知识。
也许甚至需要 ASM - 我不知道。我正在用 C++ (visual studio) 编写,所以我想知道您是否可以提供帮助。谢谢!
c++ - 即使使用 bitblt,MFC 闪烁也不一致
我在旋转矩形时遇到闪烁,但在移动矩形时却没有,即使我使用的是相同的显示功能。这是一个楼层布局场景。
一些图像来说明。中心的红色矩形被选中并移动:
但是当尝试旋转时会发生以下情况:
用于旋转矩形的代码:
表演功能: