Delphi下OpenGL2d绘图之画四边形的方法
一、前言:
Delphi实现画四边形的方法基本上与前几遍文字代码是相同的。其区别知识在于glBegin()的参数“GL_QUADS”。绘制的框架代码可以使用Delphi下OpenGL2d绘图初始化中的代码,地址为https://www.nhooo.com/article/52141.htm。修改的部份为Draw函数的内容。
二、画四边形方法:
使用GL_QUADS:绘制由四个顶点组成的一组单独的四边形。顶点4n-3、4n-2、4n-1和4n定义了第n个四边形。总共绘制N/4个四边形。这里学画四边形是为了画位图做准备。
设置颜色:
glColor3f(1,0.5,0);可以设置四边形的颜色,参数为三部份,分别为R、G、B的值,取得范围为0到1,1表示255,0.5表128。这里需要特别予以注意!
设置四边形的点:
glVertex2f(nleft,ntop);nleft、ntop表示四边形的点在窗口上的像素点位置。每个点的位置需按顺时针或逆时针设置。
代码如下:
procedureTForm1.Draw; var l,t,w:Integer; begin //清空缓冲区 glClear(GL_COLOR_BUFFER_BITorGL_DEPTH_BUFFER_BIT); //设置四边形的颜色 glColor3f(1,0.5,0); //绘制第一个多边形 l:=10; t:=10; w:=64; glBegin(GL_QUADS); glVertex2f(l,t); glVertex2f(l+w,t); glVertex2f(l+w,t+w); glVertex2f(l,t+w); glEnd(); //绘制第二个多边形 l:=80; t:=10; glColor3f(0,0.5,0); glBegin(GL_QUADS); glVertex2f(l,t); glVertex2f(l+w,t+w); glVertex2f(l+w,t); glVertex2f(l,t+w); glEnd(); SwapBuffers(FDC);//交换双缓冲区内容,这将把刚绘制的图形翻印到屏幕上。 end;
完整代码点此下载