草庐IT

Graphics

全部标签

c++ - 在 C++ 中使用 FillRect()

我不熟悉在VisualC++中使用图形。我只是想制作一个充满颜色的矩形。需要帮助来纠正这个问题......RECTrect;HDChdc;hdc=CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL);rect.left=30;rect.right=100;rect.top=50;rect.bottom=200;FillRect(hdc,&rect,(HBRUSH)(RGB(40,151,151)));错误是:错误:正在使用变量“rect”而未初始化。 最佳答案 这通常是警告,而不是错误。在这种情况下,它似

c++ - 中点粗椭圆绘制算法

我真的很接近让粗椭圆算法工作,但我遇到了一些麻烦。我从here中采用了中点粗圆算法,以及来自here的中点椭圆算法,我正在尝试将它们组合在一起以获得中点厚椭圆算法。我这样做是因为谷歌搜索“中点粗椭圆算法”没有显示我在寻找什么。我尝试的输出类似于一个粗圆圈(图片位于帖子底部)。这是图像代码(只是一个占位符):structPoint{intx,y;};structImage{};usingColor=int;voidsetPixel(Image&,Color,Point){//...}voidhoriLine(Image&image,Colorcolor,Pointfirst,intlas

c++ - OpenGL 中的缓冲区到底是什么,我如何使用多个缓冲区来发挥我的优势?

不久前,我试用了OpenGL指南中的一个程序,据说是双缓冲的;它在屏幕上显示一个旋转的矩形。不幸的是,我已经没有这本书了,而且我也没有找到关于缓冲区一般是什么的清晰、直接的定义。我的猜测是它是一个画东西的“地方”,在那里使用很多就像分层一样?如果是这样,我想知道我是否可以将多个缓冲区用于多边形裁剪程序以发挥我的优势。我有一个漂亮的小窗口,允许用户在屏幕上绘制多边形,还有一个实用程序可以在多边形上拖动和绘制一个选择框。当用户绘制了选择矩形并松开鼠标时,多边形将根据矩形边界进行裁剪。这已经足够可行了,但我还希望用户能够重新开始:按下退出键时,剪辑框应该消失,并且应该恢复原来的多边形。因为我

c++ - 图片/"most resembling pixel"搜索优化?

情况:假设我有一个图像A,例如512x512像素和图像B,5x5或7x7像素。两个图像都是24位rgb,B有1位alpha掩码(所以每个像素要么完全透明要么完全实心)。我需要在图像A中找到一个像素(及其相邻像素)与图像B最相似的像素,或者可能与图像B最相似的像素。相似度计算为“距离”,即非透明B的像素与A的像素之间的“距离”之和除以非透明B的像素数。以下是用于解释的示例SDL代码:structPixel{unsignedcharb,g,r,a;};voidfillPixel(intx,inty,SDL_Surface*dst,SDL_Surface*src,intdstMaskX,in

Qt — Graphics/View框架

文章目录前言一、Qt图形系统介绍二、Graphics/View框架前言Qt的Graphics/View框架被用来存放、显示二维图形元素,处理那些对图形元素进行操作的交互命令。一、Qt图形系统介绍Qt应用程序的图形界面包含各种控件,比如窗口、按钮、滚动条等。所有这些控件对象都具有一个共同的基类QWidget。一个QWidget对象是构成图形界面的基本单位。它能够在屏幕上绘制自己,能够处理鼠标、键盘事件。控件所占的屏幕区域总是矩形的。在屏幕上显示多个控件时会按照一定的顺序逐个显示。我们称先被显示的控件位于“底层”,后被显示的位于“顶层”。当多个控件所占区域重叠时,顶层控件会遮挡底层控件。我们知道,

c++ - 哪个 GUI 库用于开发 Mozilla Firefox?

使用哪个GUI库开发Firefox?Qt?GTK+?Windows原生? 最佳答案 Firefox使用许多GUI工具包,包括原生Windows工具包以及用于X平台的GTK+。可悲的是,thereisnoofficialsupportforQt. 关于c++-哪个GUI库用于开发MozillaFirefox?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6352347/

c++ - VAO 是否同时记住 EBO/IBO(元素或索引)和 VBO?

我的代码正常工作,但这可能是巧合,我不想稍后再讨论错误,所以我尽量保持它的整洁:我执行以下操作来初始化网格:生成并绑定(bind)VBO和缓冲数据生成并绑定(bind)IBO和缓冲数据生成并绑定(bind)VAO绑定(bind)与之前相同的VBO,在1中生成。启用我需要的顶点属性数组并设置顶点属性指针再次绑定(bind)IBO(不知道为什么)将VertexArray绑定(bind)回0,这样我就不会弄乱我刚刚创建的VAO根据我的理解,VAO将存储我启用的顶点属性数组的状态。它还将存储我绑定(bind)的VBO和IBO。由于我通过将顶点数组绑定(bind)回0来“关闭”了VAO上的所有操

c++ - 如何在 C++ 中使用 glutBitmapString() 将文本绘制到屏幕上?

我正在尝试使用GLUTin2d将文本绘制到屏幕上。我想使用glutBitmapString(),谁能告诉我一个简单的例子,说明在C++中设置和正确使用此方法必须做些什么,这样我才能在(X,Y)位置绘制任意字符串?glutBitmapString(void*font,constunsignedchar*string);我使用的是linux,我知道我需要创建一个Font对象,尽管我不确定具体如何以及我能否为它提供字符串作为第二个参数。但是,如何同时指定x/y位置?这方面的一个简单示例将对我有很大帮助。如果您能向我展示从创建字体到调用方法的过程,那将是最好的。 最

c++ - OpenCV - SURF 特征比较

我很好奇OpenCV特征描述符是如何比较的。例如,我可以使用cvExtractSURF()获取特征列表及其64位(或128位)描述符,我在哪里可以找到如何比较两个描述符?在逐步执行一些示例代码时,对我来说,我的两个“匹配”功能似乎具有非常不同的描述符(至少在数值上如此)。有没有人想出如何获取两个描述符数组并比较它们?谷歌搜索没有太大帮助...干杯,布雷特 最佳答案 你可能想看看论文Localinvariantfeaturedetectors:asurvey.这是一篇很棒的论文,描述了广泛使用的特征检测器,包括SURF。

c++ - 在不将前缓冲区复制回系统内存的情况下计算 gpu 前缓冲区中像素的平均值

我正准备为我的电脑构建一个流光溢彩的克隆。为此,我需要一种方法来计算屏幕多个区域的平均颜色。目前我发现最快的方法如下:pd3dDevice->CreateOffscreenPlainSurface(ddm.Width,ddm.Height,D3DFMT_A8R8G8B8,D3DPOOL_SCRATCH/*D3DPOOL_SYSTEMMEM*/,&pSurface,nullptr)pd3dDevice->GetFrontBufferData(0,pSurface);D3DLOCKED_RECTlockedRect;pSurface->LockRect(&lockedRect,nullpt