gdi

    0热度

    1回答

    我看到一个问题,我无法重新选择DC上的原始位图,导致内存泄漏。指向原始位图的指针在整个程序中保持不变,但数据(来自CBitmap :: GetBitmap)从单色变为其他。我不知道位图实际更改的时间,但系统中的某些内容正在导致它。 CBitmap* cMyClass::mpOldBitmap; CDC cMyClass::mCanvasDc; CBitmap cMyClass::mCanvas

    1热度

    1回答

    我创建了一个客户端,它通过TCP向服务器发送屏幕截图。图像发送成功。然而,在接收时,图像是颠倒的(我知道这是由结构的一个属性中的负高度设置的)。 我在互联网上搜索的方式,但我找不到一个正确的方式来实现这一点。所以,如果有更好的方式做到这一点,请纠正我。 这是我送的截图(客户端): HDC ScreenDC = GetDC(0); HDC hMemory = CreateCompatibleDC(

    0热度

    1回答

    public Point PixelSearchPoint(Bitmap b, Color PixelColor, int Shade_Variation) { Color Pixel_Color = PixelColor; Point Pixel_Coords = new Point(-1, -1); using (Bitmap RegionI

    -2热度

    1回答

    我正在将图像存储在位图中。当我调整我的对象时,我的图像也需要调整大小。我已经做了一个调整我的图像到所需大小的功能。 当我绝对需要调整图像大小时,我已经只调用了这个函数,但是我的内存开销不断随着这个图像的大小迅速从50 MB跳到1 GB以上。 (当我的鼠标按钮被按下时,这个方法需要在每毫秒调用一次。) 我有我的Graphics在using但这在这种情况下似乎没有什么帮助。 如果我打电话GC.Coll

    1热度

    1回答

    我试图按照本文中的指示将像素数组转换为HBITMAP:How to convert an Array of pixels to HBITMAP。 基本上,数组转换为HBITMAP,然后通过复制到剪贴板进行验证。但是,如果从其成员访问BITMAP构造的位值,则返回NULL。 我可能在这里缺少一些东西。如果成功创建了HBITMAP,为什么我们仍然会得到指向其位值的NULL? uint8 width =

    1热度

    1回答

    我正在寻找一种解决方案,以便如何从设备句柄(HDC)中提取当前剪切路径作为一组点(移动到,行到贝塞尔曲线)使用WinAPI调用。例如,WinAPI允许使用AND,OR,XOR和DIFF逻辑运算符创建复杂的剪切路径,并且可以以不同的方式使用它。例如,下面的代码将创建三个圈,并与一些逻辑(模式1和模式2)进行合并: void clippingTest(HDC dc, int x, int y, std

    0热度

    2回答

    我试图修改hbitmap以在渲染它之前添加透明像素(但这不是问题),并且在使用一些Google搜索之后,我无法让我的代码正常工作。 这就是我想: HBITMAP hBitmap = NULL, hBitmapOld = NULL; HDC hMemDC = NULL; BLENDFUNCTION bf; hMemDC = CreateCompatibleDC(hdc); hBitma

    0热度

    1回答

    我从以下代码片段中看到一个共享图标HICON。 ::SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL, 0, SMTO_ABORTIFHUNG, 500, &icon) 然后我检索其ICONINFO并复制出hbmColor和hbmMask。正如我在other snippets中注意到的那样,人们随后致电::DeleteObject()销毁hbmCo

    1热度

    1回答

    请看看下面的代码: // Create an empty bitmap BRGA CImage segImage; HDC hSeg = CreateCompatibleDC(NULL); SelectObject(hSeg, segImage); int width = 640; int height = 480; segImage.Create(width, height, 32

    1热度

    1回答

    我们可以很容易地在矩形内绘制文本。 目前,我想里面绘制文本和配合的矩形。 请帮助。