草庐IT

C++ 停止显示位图

如何停止在我的Win32项目中显示位图。我有一个在WM_PAINT中调用的方法,称为LoadBitmap。它的代码如下所示:boolLoadBitmap(LPTSTRszfilename,HDCwinhdc,intx,inty){HBITMAPbitmap;bitmap=(HBITMAP)LoadImage(NULL,szfilename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);if(bitmap==NULL){::MessageBox(NULL,_T("Bitmapfailed"),NULL,MB_OK);returnfalse;}HDChdc;hdc=:

python - 如何制作当前鼠标指针的位图?

我想用Python编写一个屏幕截图工具。现在我正在研究我该怎么做。我有一个使用win32api制作屏幕截图的脚本,如here,但想在屏幕截图中包含鼠标指针。使用win32gui.GetCursorInfo()我得到它的状态(显示/隐藏)、它的句柄和它的位置。我的目标是使用句柄访问光标的实际位图,复制它,并将其添加到我的屏幕截图中的正确坐标处。但是,我似乎找不到任何文档说明一旦获得该句柄我可以用它做什么。我在想我可能必须像屏幕截图本身那样做,即获取光标的DC,创建与其兼容的位图并使用BitBlt复制到其中。我走在正确的轨道上吗? 最佳答案

windows - 跨进程共享位图

如何使用win32/mfc在windows中创建一个设备独立位图,它将在机器上运行的所有进程之间共享?寻找在WindowsXP/7机器上的所有进程之间共享DIB的最佳和最快的方法。进程应该能够锁定位图的内容并在该位图上进行绘图,其他进程也可以使用该位图进行读取。例如最初,此DIB将由主应用程序创建。当一些其他进程想要在这个进程上绘制一些东西时,可以锁定这个DIB的内容并在这个位图上绘制。如果某个其他进程想要读取这个位图的内容,可以锁定位图并读取位图。请提出时间复杂度和空间复杂度方面的最佳方法。空间复杂性意味着,一个进程想要在这个位图上绘制内容不需要复制本地内存中的所有内容并绘制,它应该

c++ - 如何让 WNDCLASS 将位图图像作为背景?

我在我的位图中填写了WNDCLASS和hbrBackground属性wc.hbrBackground=CreatePatternBrush(LoadBitmap(hInstance,MAKEINTRESOURCE("grey-texture.bmp")));这似乎根本没有改变,窗口是白色的,就像默认设置一样,所以我需要找出这里发生了什么。CreatePatternBrush不是用于此类事情的正确函数吗?不可以这样吗?hbrBackground=fromimagefile(stringbitmap,booltile); 最佳答案 请参

Windows 位图 : BITMAPV5HEADER and BITMAPINFO compatible?

来自thedocumentationonCreateDIBSection我观察到CreateDIBSection将指向BITMAPINFO的指针作为第二个参数。但是,我遇到了很多地方表明可能允许将指针传递给其他结构(特别是BITMAPV5HEADER),包括thisanswertoanotherquestionChromiumsourcecode我觉得这很有道理(BITMAPV5HEADER可以看作是BITMAPINFO结构布局的“扩展版本”),但我找不到一个关于此主题的单个官方文档。有人可以确认传递BITMAPV5HEADER*而不是BITMAPINFO确实有效并且可能提供一些文档吗

C++ 库/类从内存位图数组中创建简单的视频文件

我写了一个学术模拟软件。模拟结果存储在一个1字节值的二维内存数组中(映射到256色)。我需要编写一个类,它以确定的时间间隔读取数组并从中创建一个视频文件。格式并不重要(只要流行即可)。是否有一个C++包装器类(通过WindowsAPI)或库可以轻松地为我做这件事? 最佳答案 一个简单的解决方案是使用“VideoforWindowsAPI”。这组函数内置于Windows中,允许您从一系列位图中创建具有各种视频编解码器的AVI文件。您也可以选择用它录制音频。以下是演示如何使用它的示例项目的链接:http://www.codeprojec

C# 将位图转换为索引颜色格式

如何将24位颜色System.Drawing.Bitmap转换为索引(256色)格式?我在计算调色板时遇到了麻烦。我可以遍历像素并使用int[]来包含各种颜色,但是当颜色超过256种时就会出现问题。有没有一种方法可以转换为索引格式并从Bitmap中提取256色调色板? 最佳答案 使用位图克隆方法,您可以直接将源图像转换为256色调色板索引图像,如下所示:BitmapResult=Source.Clone(newRectangle(0,0,Source.Width,Source.Height),PixelFormat.Format8b

windows - WIC 位图处理最有效的像素格式是什么?

我正在尝试制作一个简单的视频播放器,例如使用Direct2D和WIC位图的程序。它需要快速和CPU经济地绘制(拉伸(stretch))YUV像素格式帧数据。我已经用GDI测试过了。我希望切换到Direct2D至少可以提高10倍的性能(CPU开销更小)。我要做的基本上是这样的:创建一个空的WIC位图A(用于绘制Canvas)用YUV帧数据创建另一个WIC位图B(格式转换)将位图B绘制到A上,然后将A绘制到D2D渲染目标对于第1、2步,我必须选择一种像素格式。WICNativePixelFormats有一个MSDN页面推荐WICPixelFormat32bppPBGRA。http://ms

c++ - 如何在 C++ 中将 Windows 位图转换为 Actionscript 位图

为了规避Windows8系统上ActionscriptCameraAPI的一些(很多)问题,我决定创建一个本地扩展来处理相机。现在,相机部分和所有与AIRRuntime通信的胶水实际上都在工作,因此在AIR中单击一个按钮将打开一个新的Windows窗口,该窗口将返回一个System::Drawing::Bitmap。我现在的任务是a)创建一个FREBitmapData对象并b)从Windows位图中填写位图数据。应该很容易,我想,很多天前......因为我不太熟悉C++,所以我根本没有让它工作。到目前为止,这是我尝试过的:bmp=form1->bitmap;//bmpisahandle

C++ 保存位图文件

所以我想做的是让我的程序截屏并将其保存在计算机上。实际截图的部分我会在后面编程,我首先尝试解决如何在计算机上实际保存一个bmp文件的问题。我发现以下代码可以帮助我解决这个问题://szPathName:Specifiesthepathname//lpBits:Specifiesthebitmapbits//w:Specifiestheimagewidth//h:SpecifiestheimageheightboolSaveImage(char*szPathName,void*lpBits,intw,inth){//CreateanewfileforwritingFILE*pFile=f