草庐IT

绘制图形

全部标签

c - 在窗口中的某些区域绘制矩形导致屏幕闪烁

在我的绘画功能中,我通过在屏幕上绘制黑色矩形来清除屏幕,然后绘制一组水平线和垂直线来显示一些图形。在我的应用程序中,x轴很长。所以我使用水平滚动来允许用户查看x轴上的数据。以下是如上所述绘制背景和线条的部分程序。caseWM_PAINT:HRGNhrgnUpdate=CreateRectRgn(0,0,0,0);PAINTSTRUCTps;if(GetUpdateRgn(m_hWnd,hrgnUpdate,FALSE)!=NULLREGION){if(BeginPaint(m_hWnd,&ps)){HBRUSHhBr;hBr=CreateSolidBrush(RGB(0,0,0));R

python - 如何使用 "matplotlib.pyplot"在不同的窗口中绘制我的图形?

我有4个数组,p1&p2和v1&v2相似,我喜欢在2个不同的窗口上绘制它们。我使用以下代码将它们全部绘制在1个窗口中,但我喜欢像上面所说的那样将它们分开:p1=real_stock_price_volume[:,0]v1=real_stock_price_volume[:,1]p2=predicted_stock_price_volume[:,0]v2=predicted_stock_price_volume[:,1]plt.plot(p1,color='red',label='p1')plt.plot(v1,color='brown',label='v1')plt.plot(p2,c

c++ - 覆盖 OnNcPaint() 会影响窗口客户区的绘制吗?

我想改变窗口标题栏的外观,所以我决定覆盖CMainFrame的OnNcPaint()方法。但是当我这样做的时候,我发现了一个问题。如果有另一个窗口覆盖了我的窗口,我快速拖动窗口,我窗口的客户区内容消失了,只有当我停止拖动时,它才会出现。我重写的OnNcPaint()如下所示:voidCMainFrame::OnNcPaint(){CDC*pWinDC=GetWindowDC();//dosomedrawingReleaseDC(pWinDC);}我的方法有问题吗?谢谢! 最佳答案 除非您使用设置为排除客户区的裁剪区域,否则您可以通过

windows - 使用标准 VGA 图形在机器上模拟 OpenGL

因此,我们得到了一些图形技巧,需要在没有真正视频卡的情况下在服务器环境中运行。它真正需要的只是帧缓冲区对象和一些矢量/字体抗锯齿。它会很慢,我知道。它只需要输出单帧。我看到this发布有关如何强制软件渲染模式的帖子,但它似乎适用于已经支持OpenGL的显卡(如NVidia)的机器。所以,由于害怕尝试在三个时区以外的机器上安装OpenGL,并且上面有一堆实时生产站点——有没有人尝试过这个和/或知道如何“模拟”OpenGL环境?不幸的是,我们的开发服务器有一个视频卡,所以我不能真正展示“我试过的东西”。相关代码都在Cinder中,但我认为我们实际的OpenGL使用对于此目的来说是轻量级的。

c# - 在窗口上绘制图像

我有一个窗口窗体Window正在被另一个进程绘制在上面。如果我尝试使用PrintWindow或设备上下文复制来复制窗口图像,则只会显示下面的窗口:在被另一个进程绘制之前的窗口:绘制后的窗口:当我执行PrintWindow或BitBlt时得到的窗口:是否可以直接从窗口读取窗口绘图而不向其发送paint参数?可以直接从显卡读取吗? 最佳答案 DirectX打破了规则,您无法使PrintWindow()工作。使用Graphics.CopyFromScreen()也不起作用,它有一个严重的错误,阻止您传递正确的CopyPixelOperat

c++ - 在 Direct2D 中绘制部分图像

由于GDI+相当(可笑)慢,我决定迁移到Direct2D。我在许多论坛上查找了很多主题(包括thisone),但没有成功(这也可能是由于已经很晚的事实造成的)并且Direct2D文档仍然非常薄(并且令人困惑,至少对我而言).无论如何,我有一个在Direct2D中打开的.PNG并且只想每20毫秒绘制一次它的一部分。初始化D2D内容ID2D1Factory*d2dFactory=NULL;IWICImagingFactory*d2dWICFactory=NULL;IWICBitmapDecoder*d2dDecoder=NULL;IWICFormatConverter*d2dConvert

c++ - SetWindowPos 是否立即绘制

在每次鼠标移动事件中,我都在移动我的窗口。从文档中可以看出,如果移动成功,SetWindowPos会返回一个非零值。我想证实我的推断,即每次SetWindowPos返回一个非零值时,移动都已经发生。这意味着,窗口实际上已经在新位置重新绘制,然后函数才返回。函数返回后不久(处理某种消息时)不会发生移动。 最佳答案 IwantedtoconfirmmyinferencethateverytimeSetWindowPosreturnsanon-zerovalue,themovehasalreadyhappened.Whichmeans,t

c++ - 在不可见的分层窗口中半透明绘制

我的目标是有一个全屏覆盖不可见的“Canvas”,我可以在上面使用win32的各种绘图功能进行绘图。我目前尝试的方式是这样的:WNDCLASSAmyclass={0};myclass.lpfnWndProc=WindowProc3;myclass.hInstance=GetModuleHandle(0);myclass.lpszClassName="MyCanvas";myclass.hbrBackground=CreateSolidBrush(0xFEEDBEEF);myclass.hCursor=LoadCursor(0,IDC_ARROW);RegisterClassA(&myc

windows - Windows、Linux、MacOS 中的图形应用程序

我想构建一个必须至少在Windows、Linux和MacOS上运行的图形应用程序。我想知道您建议我应该使用什么。我有一些使用Java和C++的经验,但我首先考虑使用JavaSwing。您有什么想法或进一步建议(例如工具或框架)?我可能还需要连接到PostgreSQL数据库来存储数据。 最佳答案 Java可能是让您的应用程序在所有3个平台上运行以及添加数据库支持的最简单方法。所有这些在C++中同样可行,但它肯定涉及更多工作,因为您需要学习使用跨平台的小部件工具包。此外,C++数据库驱动程序的设计通常千差万别,但Java通过JDBC呈现

java - Windows图形命令在java中的实现

任何人都知道如何实现PatBlt在Java中。或者有一些关于Brush的额外信息。 最佳答案 据我所知,最接近的是TexturePaint. 关于java-Windows图形命令在java中的实现,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4830825/