http://216.5.163.53/DirectX4VB/Tutorials/DirectX7/DD_Primatives.asp
虽然许多在DDraw下的绘制图形化内容的工作都是通过直接加载既存的图形和文本到绘图页上来完成的,但是总有一天,你将面临仅仅要在程序中使用到简单图样(简单图样特指以下要提到的几种)的情形,在DDraw内部已经内建了对在绘图页上输出简单图样的支持,可以在绘图页上输出如下几种简单图样:
普通矩形(可以是方形)
封闭的矩形
圆圈
椭圆形
线条
你还可以为上述几种简单图样填充图案和填充颜色.一个很诱人的技术是,你可以把颜色键和本章谈到的简单图样输出技术组合起来使用,颜色键不是本章要谈到的,当是我们这里假设你学过这方面的知识,比如当你定义了一个目标绘图页颜色键之后(此时你定义了一种固定的颜色,且你将贴图到这种颜色之上),到本章的最后,你将有能力运用简单图样创建一个图形,然后再使用向目标绘图页的一次blit过程拷贝一段文本到目标绘图页上(根据你定义的目标绘图页的颜色键,你实际上把文本拷贝到了这种颜色之上),更深一层的这方面的知识将在以后的章节中作更加详尽的讲解.
绘制简单图样1:绘制普通矩形(长方形)
普通矩形通常是一个长方形,也可以是一个正方形,当它的宽高都一致时它就是一个正方形了,因为正方形只是长方形的特例,因此并不把它从本小节("绘制普通矩形")的讨论范围里分离而另为它求一个解决之道.
Surface.DrawBox(x1 As Long, y1 As Long, x2 As Long, y2 As Long)
以上是一个函数调用,功能是绘制一个矩形,参数分别是矩形的左上角坐标,矩形的右下坐标值,请务必保证你传递的坐标值是一个实际存在的值;比如.如果你当前屏幕大小是640*480,你就不能定义x1或x2为-1,因为这个值是不存在的,y1或y2同样的也就不能定义为641,如果你发现你绘制的简单图样不在屏幕上出现,原因之一可能是你把它绘制到了屏幕外面(但程序并不因此而出错),因为DDraw并不自动裁剪你绘制的简单图样,如果这个简单图样上哪怕是有一个像素绘制到了不存在的绘图页区域,DDraw就会忽略整个函数过程,所以并不绘制任何东西,除非你编程使得绘图页的大小适应这个矩形,但是即使你这样做了,DDraw虽然可以不致于什么东西也不绘制,但依然只会绘制矩形的四边而不填充它的中间(这是DDraw绘制一个普通矩形的默认处理方法).
绘制简单图样2:绘制封闭的矩形
封闭矩形几乎跟上面的普通矩形一模一样,只有一种情况例外,那就是矩形的某个角被轻微地柔化弯曲的时候.
Surface.DrawRoundedBox(x1 As Long, y1 As Long, x2 As Long, y2 As Long, rw As Long, rh As Long)
打头的四个参数跟绘制普通矩形的四个是一样的意义,只有最后二个是新的,这二个参数定义了柔化弯曲矩形的某个角的2个要使用到的量,第一个是水平方向的,对应第二个参数就是垂直方向的了,通过改变这二个量,你可以控制柔化弯曲度,这二个量可以在矩形不被柔化弯曲成一个椭圆或圆圈之前有效.
绘制简单图样3:绘制圆圈
这是另外一种简单的图样效果,但是比起前面绘制矩形的方法来讲要进行多一点的考虑.
Surface.DrawCircle(x1 As Long, y1 As Long, r As Long)
是不是看起来很简单?x和y分别是圆的中心点,r就是半径了,虽然简单,可是很多人依然会被这些参变量代表的实际意义搞昏头,跟上面绘图矩形的情况比起来,一个微小的差别就是搞清绘制的位置以避免绘制出界的问题,圆圈作为简单图样的一种与矩形等规则图样比较,对它的出界考虑要特殊一点,如果x1,y1都是100,r就可定义为100,而如果x1为100,y1为70,你就得定义r为70了,取x1,y1的最小值,尽管这个道理很简单,依然有很多人在理解上述函数过程中存在问题.
绘制简单图样4:绘制椭圆
一个椭圆外观上类似一个矩形,下面的绘制一个椭圆的函数也跟绘制一个矩形的函数相似.
Surface.DrawEllipse(x1 As Long, y1 As Long, x2 As Long, y2 As Long)
你只要传递给这个函数于绘制一个矩形时用到的四个参数就行了,实际上,此时DDraw在以上四个参数定义的一个矩形内部绘制了这个椭圆.
绘制简单图样5:绘制直线
Surface.DrawLine(x1 As Long, y1 As Long, x2 As Long, y2 As Long)
传递给这个函数的四个参数与绘制一个椭圆和矩形的情况很相似,但是虽然在赋同样值的情况下,这三个函数出来的效果是完全不一样的,这个函数过程是最简单的,DDraw只在x1,y1定义一个点和x2,y2定义的另一个点这二个点之间绘制一条直线.
绘制直线可能是最简单的了,最却是最有用的,比如直线可以划分屏幕上的显示内容以提供视觉上的区分,关于直线有一种很经典的应用,可以构造迷人的图形效果,那就是按渐变来绘制一条直线,这样绘制出来的直线本质上就是大量不同颜色的直线构成的...
为你的简单图样填充颜色..