问题标签 [bitblit]

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.

0 投票
2 回答
1072 浏览

wxpython - wxPython wxDC 对象来自 win32gui.GetDC

我正在使用返回 int/long 的 win32gui.GetDC 获取另一个程序中对象的窗口句柄的 DC。我需要将这个 DC 插入 python 中的内存 DC。我唯一不知道怎么做的是从 win32gui 返回的 int/long 中获取 wxDC 派生对象。据我所知,没有一个 wxDC 对象允许我将实际的 DC 句柄传递给它们。这当然使我无法做我的小动作。有没有办法做到这一点?

0 投票
4 回答
10173 浏览

iphone - 如何使用 Core Graphics 渲染到屏幕外位图然后 blit 到屏幕

我想渲染到屏幕外位图(或 RGBA 值数组),然后UIView在视图drawRect函数中将这些位图 blit 到 a during 。我更愿意进行完整的 32 位渲染(包括 alpha 通道),但也对 24 位渲染感到满意。

有人介意用一些代码片段或相关 API 为我指明正确的方向吗?

此外,我确切地知道如何使用 OpenGL 来完成这项工作——我更愿意在 Core Graphics 本身中完成这项工作。

0 投票
1 回答
286 浏览

c++ - WM_PAINT Bitblitting 多次?

这适用于 C++ - win32。基本上,我已经从文件中将图像(bmp)加载到 HBITMAP 中,并将它的 bitblitted 到主窗口的设备上下文中。

如果我想更改图像,我将如何再次调用它?

我调用了 InvalidateRectangle() 和 UpdateWindow() 但这会导致窗口控件闪烁。

0 投票
1 回答
402 浏览

.net - TransparentBlt 产生不清晰的图像

我正在使用该方法将文本(使用TextRenderer.DrawText)渲染到一个位图上,该位图是背景色纯白色(Color.WhiteFillRectangle。然后我将TransparentBlt这个 Bitmap 放到一个包含彩色背景图片的内存 DC 上,使用Color.White And &HFFFFFF透明颜色的 RGB 值(crTransparent参数),如下所示:

{然后我BitBlt将组合图像放到我的控件表面上,但这不是那么相关}

尽管呈现的文本清晰清晰,但其TransparentBlt结果并不清晰。

这是文本的快照,呈现在白色背景上(这是图像而不是键入的文本):

在此处输入图像描述

这是在彩色背景上对上面的图像进行 Trans-Blitting 的结果:

在此处输入图像描述

请注意,白色(透明)点仍在红色文本周围。

此外,请注意在图像左侧绘制的白色垂直线,以及在右上角绘制的类似较短的水平线。

我正在使用 VB.NET 2005(又名 VB8)。您的建议将不胜感激。

0 投票
2 回答
1441 浏览

c++ - C++: Avoid flickering using WM_ERASEBKGND-Message in MFC-Application

in the OnDraw()-Method i create a Bitmap and blit it to the output every time the window size changes:

But every time the application needs to recreate the bitmap in OnDraw(), the Screen gets white until it blits the bitmap to the screen. How can i use the WM_ERASEBKGND-Message to avoid this flickering?

0 投票
1 回答
173 浏览

graphics - 在 gpu 上做类似 bitblit 的事情

我在看 Dan Ingalls 的一些演讲,他在谈论他们如何能够在 1970 年代通过一种称为bitblit的技术制作几乎实时的 2D 图形

这一切都是在软件中直接在显示器上完成的,有什么理由不能在现代 gpu 硬件上使用这样的技术吗?

这是在现代 GPU 中完成的方式吗?

我对甚至用于 2D 图形的 3D 渲染管道有很高的了解,但是这些旧技术中的一些不能在 GPU 上的所有功能上得到很大的提升吗?

0 投票
0 回答
211 浏览

c# - 如何在 WPF (C#) 中将图像异或到另一个图像上?

我正在编写一个应用程序,我需要一个十字光标来选择任意图像上的点。由于图像可能同时包含亮区和暗区,我希望对图像顶部的光标进行异或运算,从而反转光标所在像素的颜色。为了说明我的意思,请看下图......

XOR 光标示例

我的应用程序将使用 WPF 和 C#.NET 编写。图像将显示在 ScrollViewer 中的 Canvas 中,其中光标将包含在 .png 文件中。光标图像文件在黑色背景上包含一个白色光标,因此一旦通过 XOR 操作“blitted”到图像上,它将产生正确的结果。我还采用了将光标作为图像文件的方法,因为我需要在图像中的选定点处显示光标的实例。

当然,另一个重要的要求是绘图操作应该尽可能快地运行,因为它基本上是一个随着用户移动鼠标而不断移动的光标。

提前致谢!