Delphi下OpenGL2d绘图之画四边形的方法
<p><strong>一、前言:</strong></p><p>Delphi实现画四边形的方法基本上与前几遍文字代码是相同的。其区别知识在于glBegin()的参数“GL_QUADS”。绘制的框架代码可以使用Delphi下OpenGL2d绘图初始化中的代码,地址为https://www.jb51.net/article/52141.htm。修改的部份为 Draw 函数的内容。</p>
<p><strong>二、画四边形方法:</strong></p>
<p>使用GL_QUADS:绘制由四个顶点组成的一组单独的四边形。顶点4n-3、4n-2、4n-1和4n定义了第n个四边形。总共绘制N/4个四边形。这里学画四边形是为了画位图做准备。</p>
<p><strong>设置颜色:</strong></p>
<p>glColor3f(1, 0.5, 0); 可以设置四边形的颜色,参数为三部份,分别为 R、G、B的值,取得范围为0到1,1表示255,0.5表128。这里需要特别予以注意!</p>
<p><strong>设置四边形的点:</strong></p>
<p>glVertex2f(nleft, ntop); nleft、ntop表示四边形的点在窗口上的像素点位置。每个点的位置需按顺时针或逆时针设置。</p>
<p>代码如下:</p>
<div class="jb51code">
<pre class="brush:delphi;">
procedure TForm1.Draw;
var
l, t, w: Integer;
begin
// 清空缓冲区
glClear(GL_COLOR_BUFFER_BIT or GL_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;</pre>
</div>
<p>完整代码点此下载</p>
<div class="art_xg">
<b>您可能感兴趣的文章:</b><ul><li>Delphi下OpenGL2d绘图之画线的方法</li><li>Delphi下OpenGL2d绘图之画点的方法</li><li>Delphi使用OpenGL2d绘图之画图片Bmp的方法</li><li>opengl实现任意两点间画圆柱体</li></ul>
</div>
</div>
<!--endmain-->
頁:
[1]