﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-aijava-文章分类-ASP/ASP.NET</title><link>http://www.blogjava.net/hayun/category/17145.html</link><description>welcome to my online log ! open java new world!
Taste java charm........</description><language>zh-cn</language><lastBuildDate>Tue, 08 Jan 2008 11:23:32 GMT</lastBuildDate><pubDate>Tue, 08 Jan 2008 11:23:32 GMT</pubDate><ttl>60</ttl><item><title>asp 动态生成验证码</title><link>http://www.blogjava.net/hayun/articles/createCode.html</link><dc:creator>苑</dc:creator><author>苑</author><pubDate>Mon, 07 Jan 2008 14:44:00 GMT</pubDate><guid>http://www.blogjava.net/hayun/articles/createCode.html</guid><description><![CDATA[<p>&lt;%<br />
Const nMaxSaturation = 100&nbsp;&nbsp;&nbsp;' 最大色彩饱和度<br />
Const nBlankNoisyDotOdds = 0.2&nbsp; ' 空白处噪点率<br />
Const nColorNoisyDotOdds = 0.1 ' 有色处噪点率<br />
Const nCharCount = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' 产生的字符个数<br />
Const nPixelWidth = 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' 单个字符位图的宽度<br />
Const nPixelHeight = 20&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ' 单个字符位图的高度<br />
Const nColorHue = 220&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' 显示验证码的色调(-1表示随机色调, -2表示灰度色调)<br />
Const nAngleRandom = 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 角度随机量<br />
Const nLengthRandom = 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 长度随机量(百分比)<br />
Const cCharSet = "0123456789"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 构成验证码的字符集<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 如果扩充了下边的字母矢量库，则可以相应扩充这个字符集</p>
<p>Dim Buf(), DigtalStr<br />
Dim Lines(), LineCount<br />
Dim CursorX, CursorY, DirX, DirY</p>
<p>Randomize<br />
Call CreaalidCode("GetCode")</p>
<p>Sub CDGen_Reset()<br />
&nbsp;' 复位矢量笔和环境变量<br />
&nbsp;LineCount = 0<br />
&nbsp;CursorX = 0<br />
&nbsp;CursorY = 0<br />
&nbsp;' 初始的光笔方向是垂直向下<br />
&nbsp;DirX = 0<br />
&nbsp;DirY = 1<br />
End Sub</p>
<p>Sub CDGen_Clear()<br />
&nbsp;' 清空位图阵列<br />
&nbsp;Dim i, j<br />
&nbsp;ReDim Buf(nPixelHeight - 1, nCharCount * nPixelWidth - 1)</p>
<p>&nbsp;For j = 0 To nPixelHeight - 1<br />
&nbsp;&nbsp;For i = 0 To nCharCount * nPixelWidth - 1<br />
&nbsp;&nbsp;&nbsp;Buf(j, i) = 0<br />
&nbsp;&nbsp;Next<br />
&nbsp;Next<br />
End Sub</p>
<p>Sub CDGen_PSet(X, Y)<br />
&nbsp;' 在位图阵列上画点<br />
&nbsp;Buf(Y, X) = 1<br />
End Sub</p>
<p>Sub CDGen_Line(X1, Y1, X2, Y2)<br />
&nbsp;' 在位图阵列上画线<br />
&nbsp;Dim DX, DY, DeltaT, i<br />
&nbsp;<br />
&nbsp;DX = X2 - X1<br />
&nbsp;DY = Y2 - Y1<br />
&nbsp;If Abs(DX) &gt; Abs(DY) Then DeltaT = Abs(DX) Else DeltaT = Abs(DY)<br />
&nbsp;For i = 0 To DeltaT<br />
&nbsp;&nbsp;CDGen_PSet X1 + DX * i / DeltaT, Y1 + DY * i / DeltaT<br />
&nbsp;Next<br />
End Sub</p>
<p>Sub CDGen_FowardDraw(nLength)<br />
&nbsp;' 按当前光笔方向绘制指定长度并移动光笔，正数表示从左向右/从上向下绘制，负数表示从右向左/从下向上绘制<br />
&nbsp;nLength = Sgn(nLength) * Abs(nLength) * (1 - nLengthRandom / 100 + Rnd * nLenghtRandom * 2 / 100)<br />
&nbsp;ReDim Preserve Lines(3, LineCount)<br />
&nbsp;Lines(0, LineCount) = CursorX<br />
&nbsp;Lines(1, LineCount) = CursorY<br />
&nbsp;CursorX = CursorX + DirX * nLength<br />
&nbsp;CursorY = CursorY + DirY * nLength<br />
&nbsp;Lines(2, LineCount) = CursorX<br />
&nbsp;Lines(3, LineCount) = CursorY<br />
&nbsp;LineCount = LineCount + 1<br />
End Sub</p>
<p>Sub CDGen_SetDirection(nAngle)<br />
&nbsp;' 按指定角度设定画笔方向, 正数表示相对当前方向顺时针改变方向，负数表示相对当前方向逆时针改变方向<br />
&nbsp;Dim DX, DY<br />
&nbsp;<br />
&nbsp;nAngle = Sgn(nAngle) * (Abs(nAngle) - nAngleRandom + Rnd * nAngleRandom * 2) / 180 * 3.1415926<br />
&nbsp;DX = DirX<br />
&nbsp;DY = DirY<br />
&nbsp;DirX = DX * Cos(nAngle) - DY * Sin(nAngle)<br />
&nbsp;DirY = DX * Sin(nAngle) + DY * Cos(nAngle)<br />
End Sub</p>
<p>Sub CDGen_MoveToMiddle(nActionIndex, nPercent)<br />
&nbsp;' 将画笔光标移动到指定动作的中间点上，nPercent为中间位置的百分比<br />
&nbsp;Dim DeltaX, DeltaY<br />
&nbsp;<br />
&nbsp;DeltaX = Lines(2, nActionIndex) - Lines(0, nActionIndex)<br />
&nbsp;DeltaY = Lines(3, nActionIndex) - Lines(1, nActionIndex)<br />
&nbsp;CursorX = Lines(0, nActionIndex) + Sgn(DeltaX) * Abs(DeltaX) * nPercent / 100<br />
&nbsp;CursorY = Lines(1, nActionIndex) + Sgn(DeltaY) * Abs(DeltaY) * nPercent / 100<br />
End Sub</p>
<p>Sub CDGen_MoveCursor(nActionIndex)<br />
&nbsp;' 将画笔光标移动到指定动作的起始点上<br />
&nbsp;CursorX = Lines(0, nActionIndex)<br />
&nbsp;CursorY = Lines(1, nActionIndex)<br />
End Sub</p>
<p>Sub CDGen_Close(nActionIndex)<br />
&nbsp;' 将当前光笔位置与指定动作的起始点闭合并移动光笔<br />
&nbsp;ReDim Preserve Lines(3, LineCount)<br />
&nbsp;Lines(0, LineCount) = CursorX<br />
&nbsp;Lines(1, LineCount) = CursorY<br />
&nbsp;CursorX = Lines(0, nActionIndex)<br />
&nbsp;CursorY = Lines(1, nActionIndex)<br />
&nbsp;Lines(2, LineCount) = CursorX<br />
&nbsp;Lines(3, LineCount) = CursorY<br />
&nbsp;LineCount = LineCount + 1<br />
End Sub</p>
<p>Sub CDGen_CloseToMiddle(nActionIndex, nPercent)<br />
&nbsp;' 将当前光笔位置与指定动作的中间点闭合并移动光笔，nPercent为中间位置的百分比<br />
&nbsp;Dim DeltaX, DeltaY<br />
&nbsp;<br />
&nbsp;ReDim Preserve Lines(3, LineCount)<br />
&nbsp;Lines(0, LineCount) = CursorX<br />
&nbsp;Lines(1, LineCount) = CursorY<br />
&nbsp;DeltaX = Lines(2, nActionIndex) - Lines(0, nActionIndex)<br />
&nbsp;DeltaY = Lines(3, nActionIndex) - Lines(1, nActionIndex)<br />
&nbsp;CursorX = Lines(0, nActionIndex) + Sgn(DeltaX) * Abs(DeltaX) * nPercent / 100<br />
&nbsp;CursorY = Lines(1, nActionIndex) + Sgn(DeltaY) * Abs(DeltaY) * nPercent / 100<br />
&nbsp;Lines(2, LineCount) = CursorX<br />
&nbsp;Lines(3, LineCount) = CursorY<br />
&nbsp;LineCount = LineCount + 1<br />
End Sub</p>
<p>Sub CDGen_Flush(X0, Y0)<br />
&nbsp;' 按照当前的画笔动作序列绘制位图点阵<br />
&nbsp;Dim MaxX, MinX, MaxY, MinY<br />
&nbsp;Dim DeltaX, DeltaY, StepX, StepY, OffsetX, OffsetY<br />
&nbsp;Dim i</p>
<p>&nbsp;MaxX = MinX = MaxY = MinY = 0<br />
&nbsp;For i = 0 To LineCount - 1<br />
&nbsp;&nbsp;If MaxX &lt; Lines(0, i) Then MaxX = Lines(0, i)<br />
&nbsp;&nbsp;If MaxX &lt; Lines(2, i) Then MaxX = Lines(2, i)<br />
&nbsp;&nbsp;If MinX &gt; Lines(0, i) Then MinX = Lines(0, i)<br />
&nbsp;&nbsp;If MinX &gt; Lines(2, i) Then MinX = Lines(2, i)<br />
&nbsp;&nbsp;If MaxY &lt; Lines(1, i) Then MaxY = Lines(1, i)<br />
&nbsp;&nbsp;If MaxY &lt; Lines(3, i) Then MaxY = Lines(3, i)<br />
&nbsp;&nbsp;If MinY &gt; Lines(1, i) Then MinY = Lines(1, i)<br />
&nbsp;&nbsp;If MinY &gt; Lines(3, i) Then MinY = Lines(3, i)<br />
&nbsp;Next<br />
&nbsp;DeltaX = MaxX - MinX<br />
&nbsp;DeltaY = MaxY - MinY<br />
&nbsp;If DeltaX = 0 Then DeltaX = 1<br />
&nbsp;If DeltaY = 0 Then DeltaY = 1<br />
&nbsp;MaxX = MinX<br />
&nbsp;MaxY = MinY<br />
&nbsp;If DeltaX &gt; DeltaY Then<br />
&nbsp;&nbsp;StepX = (nPixelWidth - 2) / DeltaX<br />
&nbsp;&nbsp;StepY = (nPixelHeight - 2) / DeltaX<br />
&nbsp;&nbsp;OffsetX = 0<br />
&nbsp;&nbsp;OffsetY = (DeltaX - DeltaY) / 2<br />
&nbsp;Else<br />
&nbsp;&nbsp;StepX = (nPixelWidth - 2) / DeltaY<br />
&nbsp;&nbsp;StepY = (nPixelHeight - 2) / DeltaY<br />
&nbsp;&nbsp;OffsetX = (DeltaY - DeltaX) / 2<br />
&nbsp;&nbsp;OffsetY = 0<br />
&nbsp;End If<br />
&nbsp;For i = 0 To LineCount - 1<br />
&nbsp;&nbsp;Lines(0, i) = Round((Lines(0, i) - MaxX + OffsetX) * StepX, 0)<br />
&nbsp;&nbsp;If Lines(0, i) &lt; 0 Then Lines(0, i) = 0<br />
&nbsp;&nbsp;If Lines(0, i) &gt;= nPixelWidth - 2 Then Lines(0, i) = nPixelWidth - 3<br />
&nbsp;&nbsp;Lines(1, i) = Round((Lines(1, i) - MaxY + OffsetY) * StepY, 0)<br />
&nbsp;&nbsp;If Lines(1, i) &lt; 0 Then Lines(1, i) = 0<br />
&nbsp;&nbsp;If Lines(1, i) &gt;= nPixelHeight - 2 Then Lines(1, i) = nPixelHeight - 3<br />
&nbsp;&nbsp;Lines(2, i) = Round((Lines(2, i) - MinX + OffsetX) * StepX, 0)<br />
&nbsp;&nbsp;If Lines(2, i) &lt; 0 Then Lines(2, i) = 0<br />
&nbsp;&nbsp;If Lines(2, i) &gt;= nPixelWidth - 2 Then Lines(2, i) = nPixelWidth - 3<br />
&nbsp;&nbsp;Lines(3, i) = Round((Lines(3, i) - MinY + OffsetY) * StepY, 0)<br />
&nbsp;&nbsp;If Lines(3, i) &lt; 0 Then Lines(3, i) = 0<br />
&nbsp;&nbsp;If Lines(3, i) &gt;= nPixelHeight - 2 Then Lines(3, i) = nPixelHeight - 3<br />
&nbsp;&nbsp;CDGen_Line Lines(0, i) + X0 + 1, Lines(1, i) + Y0 + 1, Lines(2, i) + X0 + 1, Lines(3, i) + Y0 + 1<br />
&nbsp;Next<br />
End Sub</p>
<p>Sub CDGen_Char(cChar, X0, Y0)<br />
&nbsp;' 在指定坐标处生成指定字符的位图阵列<br />
&nbsp;CDGen_Reset<br />
&nbsp;Select Case cChar<br />
&nbsp;Case "0"<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.5个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_Close 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 封闭当前笔与第0笔(0开始)<br />
&nbsp;Case "1"<br />
&nbsp;&nbsp;CDGen_SetDirection -90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针90度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.5个单位<br />
&nbsp;&nbsp;CDGen_MoveToMiddle 0, 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 移动画笔的位置到第0笔(0开始)的50%处<br />
&nbsp;&nbsp;CDGen_SetDirection 90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针90度<br />
&nbsp;&nbsp;CDGen_FowardDraw -1.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制1.4个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针30度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.4个单位<br />
&nbsp;Case "2"<br />
&nbsp;&nbsp;CDGen_SetDirection 45&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针45度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.4个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.6个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 1.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.6个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -135&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针135度<br />
&nbsp;&nbsp;CDGen_FowardDraw 1.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.0个单位<br />
&nbsp;Case "3"<br />
&nbsp;&nbsp;CDGen_SetDirection -90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针90度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 135&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针135度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.6个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针80度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.5个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.5个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.5个单位<br />
&nbsp;Case "4"<br />
&nbsp;&nbsp;CDGen_SetDirection 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针20度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针110度<br />
&nbsp;&nbsp;CDGen_FowardDraw 1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.2个单位<br />
&nbsp;&nbsp;CDGen_MoveToMiddle 1, 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 移动画笔的位置到第1笔(0开始)的60%处<br />
&nbsp;&nbsp;CDGen_SetDirection 90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针90度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_MoveCursor 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 移动画笔到第2笔(0开始)的开始处<br />
&nbsp;&nbsp;CDGen_FowardDraw -1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制1.5个单位<br />
&nbsp;Case "5"<br />
&nbsp;&nbsp;CDGen_SetDirection 90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针90度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw 1.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.0个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针90度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针90度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针30度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.4个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.4个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针30度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.5个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8个单位<br />
&nbsp;Case "6"<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.5个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.5个单位<br />
&nbsp;&nbsp;CDGen_CloseToMiddle 2, 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 将当前画笔位置与第2笔(0开始)的50%处封闭<br />
&nbsp;Case "7"<br />
&nbsp;&nbsp;CDGen_SetDirection 180&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针180度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.3个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针90度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.9个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.3个单位<br />
&nbsp;Case "8"<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针110度<br />
&nbsp;&nbsp;CDGen_FowardDraw -1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制1.5个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针110度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.9个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.9个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 70&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针70度<br />
&nbsp;&nbsp;CDGen_FowardDraw 1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.5个单位<br />
&nbsp;&nbsp;CDGen_Close 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 封闭当前笔与第0笔(0开始)<br />
&nbsp;Case "9"<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw -1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.5个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.5个单位<br />
&nbsp;&nbsp;CDGen_CloseToMiddle 2, 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 将当前画笔位置与第2笔(0开始)的50%处封闭<br />
&nbsp;' 以下为字母的矢量动作，有兴趣的可以继续<br />
&nbsp;Case "A"<br />
&nbsp;&nbsp;CDGen_SetDirection -(Rnd * 20 + 150)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针150-170度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw Rnd * 0.2 + 1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.1-1.3个单位<br />
&nbsp;&nbsp;CDGen_SetDirection Rnd * 20 + 140&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针140-160度<br />
&nbsp;&nbsp;CDGen_FowardDraw Rnd * 0.2 + 1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.1-1.3个单位<br />
&nbsp;&nbsp;CDGen_MoveToMiddle 0, 30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 移动画笔的位置到第1笔(0开始)的30%处<br />
&nbsp;&nbsp;CDGen_CloseToMiddle 1, 70&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 将当前画笔位置与第1笔(0开始)的70%处封闭<br />
&nbsp;Case "B"<br />
&nbsp;&nbsp;CDGen_SetDirection -(Rnd * 20 + 50)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针50-70度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw Rnd * 0.4 + 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8-1.2个单位<br />
&nbsp;&nbsp;CDGen_SetDirection Rnd * 20 + 110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针110-130度<br />
&nbsp;&nbsp;CDGen_FowardDraw Rnd * 0.2 + 0.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.6-0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -(Rnd * 20 + 110)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针110-130度<br />
&nbsp;&nbsp;CDGen_FowardDraw Rnd * 0.2 + 0.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.6-0.8个单位<br />
&nbsp;&nbsp;CDGen_SetDirection Rnd * 20 + 110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针110-130度<br />
&nbsp;&nbsp;CDGen_FowardDraw Rnd * 0.4 + 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.8-1.2个单位<br />
&nbsp;&nbsp;CDGen_Close 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 封闭当前笔与第1笔(0开始)<br />
&nbsp;Case "C"<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度(相对于垂直线)<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection -60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 逆时针60度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制1.5个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw -0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 反方向绘制0.7个单位<br />
&nbsp;&nbsp;CDGen_SetDirection 120&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 顺时针120度<br />
&nbsp;&nbsp;CDGen_FowardDraw 0.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 绘制0.7个单位<br />
&nbsp;End Select<br />
&nbsp;CDGen_Flush X0, Y0<br />
End Sub</p>
<p>Sub CDGen_Blur()<br />
&nbsp;' 对产生的位图进行柔化处理<br />
&nbsp;Dim i, j<br />
&nbsp;<br />
&nbsp;For j = 1 To nPixelHeight - 2<br />
&nbsp;&nbsp;For i = 1 To nCharCount * nPixelWidth - 2<br />
&nbsp;&nbsp;&nbsp;If Buf(j, i) = 0 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;If ((Buf(j, i - 1) Or Buf(j + 1, i)) And 1) &lt;&gt; 0 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' 如果当前点是空白点，且上下左右四个点中有一个点是有色点，则该点做柔化处理<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Buf(j, i) = 2<br />
&nbsp;&nbsp;&nbsp;&nbsp;End If<br />
&nbsp;&nbsp;&nbsp;End If<br />
&nbsp;&nbsp;Next<br />
&nbsp;Next<br />
End Sub</p>
<p>Sub CDGen_NoisyDot()<br />
&nbsp;' 对产生的位图进行噪点处理<br />
&nbsp;Dim i, j, NoisyDot, CurDot<br />
&nbsp;<br />
&nbsp;For j = 0 To nPixelHeight - 1<br />
&nbsp;&nbsp;For i = 0 To nCharCount * nPixelWidth - 1<br />
&nbsp;&nbsp;&nbsp;If Buf(j, i) &lt;&gt; 0 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;NoisyDot = Int(Rnd * Rnd * nMaxSaturation)<br />
&nbsp;&nbsp;&nbsp;&nbsp;Select Case nColorNoisyDotOdds<br />
&nbsp;&nbsp;&nbsp;&nbsp;Case 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurDot = nMaxSaturation<br />
&nbsp;&nbsp;&nbsp;&nbsp;Case 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurDot = 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;Case Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurDot = NoisyDot<br />
&nbsp;&nbsp;&nbsp;&nbsp;End Select<br />
&nbsp;&nbsp;&nbsp;&nbsp;If Rnd &lt; nColorNoisyDotOdds Then Buf(j, i) = CurDot Else Buf(j, i) = nMaxSaturation<br />
&nbsp;&nbsp;&nbsp;Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;NoisyDot = Int(Rnd * nMaxSaturation)<br />
&nbsp;&nbsp;&nbsp;&nbsp;Select Case nBlankNoisyDotOdds<br />
&nbsp;&nbsp;&nbsp;&nbsp;Case 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurDot = 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;Case 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurDot = nMaxSaturation<br />
&nbsp;&nbsp;&nbsp;&nbsp;Case Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurDot = NoisyDot<br />
&nbsp;&nbsp;&nbsp;&nbsp;End Select<br />
&nbsp;&nbsp;&nbsp;&nbsp;If Rnd &lt; nBlankNoisyDotOdds Then Buf(j, i) = CurDot Else Buf(j, i) = 0<br />
&nbsp;&nbsp;&nbsp;End If<br />
&nbsp;&nbsp;Next<br />
&nbsp;Next<br />
End Sub</p>
<p>Sub CDGen()<br />
&nbsp;' 生成位图阵列<br />
&nbsp;Dim i, Ch<br />
&nbsp;<br />
&nbsp;DigtalStr = ""<br />
&nbsp;CDGen_Clear<br />
&nbsp;For i = 0 To nCharCount - 1<br />
&nbsp;&nbsp;Ch = Mid(cCharSet, Int(Rnd * Len(cCharSet)) + 1, 1)<br />
&nbsp;&nbsp;DigtalStr = DigtalStr + Ch<br />
&nbsp;&nbsp;CDGen_Char Ch, i * nPixelWidth, 0<br />
&nbsp;Next<br />
&nbsp;CDGen_Blur<br />
&nbsp;CDGen_NoisyDot<br />
End Sub</p>
<p>Function HSBToRGB(vH, vS, vB)<br />
&nbsp;' 将颜色值由HSB转换为RGB<br />
&nbsp;Dim aRGB(3), RGB1st, RGB2nd, RGB3rd<br />
&nbsp;Dim nH, nS, nB<br />
&nbsp;Dim lH, nF, nP, nQ, nT</p>
<p>&nbsp;vH = (vH Mod 360)<br />
&nbsp;If vS &gt; 100 Then<br />
&nbsp;&nbsp;vS = 100<br />
&nbsp;ElseIf vS &lt; 0 Then<br />
&nbsp;&nbsp;vS = 0<br />
&nbsp;End If<br />
&nbsp;If vB &gt; 100 Then<br />
&nbsp;&nbsp;vB = 100<br />
&nbsp;ElseIf vB &lt; 0 Then<br />
&nbsp;&nbsp;vB = 0<br />
&nbsp;End If<br />
&nbsp;If vS &gt; 0 Then<br />
&nbsp;&nbsp;nH = vH / 60<br />
&nbsp;&nbsp;nS = vS / 100<br />
&nbsp;&nbsp;nB = vB / 100<br />
&nbsp;&nbsp;lH = Int(nH)<br />
&nbsp;&nbsp;nF = nH - lH<br />
&nbsp;&nbsp;nP = nB * (1 - nS)<br />
&nbsp;&nbsp;nQ = nB * (1 - nS * nF)<br />
&nbsp;&nbsp;nT = nB * (1 - nS * (1 - nF))<br />
&nbsp;&nbsp;Select Case lH<br />
&nbsp;&nbsp;Case 0<br />
&nbsp;&nbsp;&nbsp;aRGB(0) = nB * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(1) = nT * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(2) = nP * 255<br />
&nbsp;&nbsp;Case 1<br />
&nbsp;&nbsp;&nbsp;aRGB(0) = nQ * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(1) = nB * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(2) = nP * 255<br />
&nbsp;&nbsp;Case 2<br />
&nbsp;&nbsp;&nbsp;aRGB(0) = nP * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(1) = nB * 255&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;aRGB(2) = nT * 255<br />
&nbsp;&nbsp;Case 3<br />
&nbsp;&nbsp;&nbsp;aRGB(0) = nP * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(1) = nQ * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(2) = nB * 255<br />
&nbsp;&nbsp;Case 4<br />
&nbsp;&nbsp;&nbsp;aRGB(0) = nT * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(1) = nP * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(2) = nB * 255<br />
&nbsp;&nbsp;Case 5<br />
&nbsp;&nbsp;&nbsp;aRGB(0) = nB * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(1) = nP * 255<br />
&nbsp;&nbsp;&nbsp;aRGB(2) = nQ * 255<br />
&nbsp;&nbsp;End Select&nbsp;&nbsp;&nbsp;<br />
&nbsp;Else<br />
&nbsp;&nbsp;aRGB(0) = (vB * 255) / 100<br />
&nbsp;&nbsp;aRGB(1) = aRGB(0)<br />
&nbsp;&nbsp;aRGB(2) = aRGB(0)<br />
&nbsp;End If<br />
&nbsp;HSBToRGB = ChrB(Round(aRGB(2), 0)) &amp; ChrB(Round(aRGB(1), 0)) &amp; ChrB(Round(aRGB(0), 0))<br />
End Function</p>
<p>Sub CreaalidCode(pSN)<br />
&nbsp;Dim i, j, CurColorHue<br />
&nbsp;<br />
&nbsp;' 禁止缓存<br />
&nbsp;Response.Expires = -9999<br />
&nbsp;Response.AddHeader "pragma", "no-cache"<br />
&nbsp;Response.AddHeader "cache-ctrol", "no-cache"<br />
&nbsp;Response.ContentType = "image/bmp"<br />
&nbsp;<br />
&nbsp;Call CDGen<br />
&nbsp;Session(pSN) = DigtalStr&nbsp;'记录入Session</p>
<p>&nbsp;Dim PicWidth, PicHeight, FileSize, PicDataSize<br />
&nbsp;PicWidth = nCharCount * nPixelWidth<br />
&nbsp;PicHeight = nPixelHeight<br />
&nbsp;PicDataSize = PicWidth * PicHeight * 3<br />
&nbsp;FileSize = PicDataSize + 54<br />
&nbsp;<br />
&nbsp;' 输出BMP文件信息头<br />
&nbsp;Response.BinaryWrite ChrB(66) &amp; ChrB(77) &amp; _<br />
&nbsp;&nbsp;ChrB(FileSize Mod 256) &amp; ChrB((FileSize \ 256) Mod 256) &amp; ChrB((FileSize \ 256 \ 256) Mod 256) &amp; ChrB(FileSize \ 256 \ 256 \ 256) &amp; _<br />
&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; _<br />
&nbsp;&nbsp;ChrB(54) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0)</p>
<p>&nbsp;' 输出BMP位图信息头<br />
&nbsp;Response.BinaryWrite ChrB(40) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; _<br />
&nbsp;&nbsp;ChrB(PicWidth Mod 256) &amp; ChrB((PicWidth \ 256) Mod 256) &amp; ChrB((PicWidth \ 256 \ 256) Mod 256) &amp; ChrB(PicWidth \ 256 \ 256 \ 256) &amp; _<br />
&nbsp;&nbsp;ChrB(PicHeight Mod 256) &amp; ChrB((PicHeight \ 256) Mod 256) &amp; ChrB((PicHeight \ 256 \ 256) Mod 256) &amp; ChrB(PicHeight \ 256 \ 256 \ 256) &amp; _<br />
&nbsp;&nbsp;ChrB(1) &amp; ChrB(0) &amp; _<br />
&nbsp;&nbsp;ChrB(24) &amp; ChrB(0) &amp; _<br />
&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; _<br />
&nbsp;&nbsp;ChrB(PicDataSize Mod 256) &amp; ChrB((PicDataSize \ 256) Mod 256) &amp; ChrB((PicDataSize \ 256 \ 256) Mod 256) &amp; ChrB(PicDataSize \ 256 \ 256 \ 256) &amp; _<br />
&nbsp;&nbsp;ChrB(18) &amp; ChrB(11) &amp; ChrB(0) &amp; ChrB(0) &amp; _<br />
&nbsp;&nbsp;ChrB(18) &amp; ChrB(11) &amp; ChrB(0) &amp; ChrB(0) &amp; _<br />
&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; _<br />
&nbsp;&nbsp;ChrB(0) &amp; ChrB(0) &amp; ChrB(0) &amp; ChrB(0)</p>
<p>&nbsp;' 逐点输出位图阵列<br />
&nbsp;If nColorHue = -1 Then<br />
&nbsp;&nbsp;CurColorHue = Int(Rnd * 360)<br />
&nbsp;ElseIf nColorHue = -2 Then<br />
&nbsp;&nbsp;CurColorHue = 0<br />
&nbsp;Else<br />
&nbsp;&nbsp;CurColorHue = nColorHue<br />
&nbsp;End If<br />
&nbsp;For j = 0 To nPixelHeight - 1<br />
&nbsp;&nbsp;For i = 0 To Len(DigtalStr) * nPixelWidth - 1<br />
&nbsp;&nbsp;&nbsp;If nColorHue = -2 Then<br />
&nbsp;&nbsp;&nbsp;&nbsp;Response.BinaryWrite HSBToRGB(CurColorHue, 0, 100 - Buf(nPixelHeight - 1 - j, i))<br />
&nbsp;&nbsp;&nbsp;Else<br />
&nbsp;&nbsp;&nbsp;&nbsp;Response.BinaryWrite HSBToRGB(CurColorHue, Buf(nPixelHeight - 1 - j, i), 100)<br />
&nbsp;&nbsp;&nbsp;End If<br />
&nbsp;&nbsp;Next<br />
&nbsp;Next<br />
End Sub<br />
%&gt;<br />
</p><img src ="http://www.blogjava.net/hayun/aggbug/173473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hayun/" target="_blank">苑</a> 2008-01-07 22:44 <a href="http://www.blogjava.net/hayun/articles/createCode.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>asp.net 手写代码实现</title><link>http://www.blogjava.net/hayun/articles/dotnet1.html</link><dc:creator>苑</dc:creator><author>苑</author><pubDate>Mon, 07 May 2007 14:31:00 GMT</pubDate><guid>http://www.blogjava.net/hayun/articles/dotnet1.html</guid><wfw:comment>http://www.blogjava.net/hayun/comments/115769.html</wfw:comment><comments>http://www.blogjava.net/hayun/articles/dotnet1.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hayun/comments/commentRss/115769.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hayun/services/trackbacks/115769.html</trackback:ping><description><![CDATA[<p>&lt;%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" EnableEventValidation="false"%&gt;<br>&lt;%@ import Namespace = "System.Data"%&gt;<br>&lt;%@ import Namespace = "System.Data.OleDb"%&gt;</p>
<p>&lt;style type="text/css"&gt;<br>td{ font-size:12px}<br>&lt;/style&gt;<br>&lt;script runat="server" language="c#"&gt;<br>&nbsp;<br>&nbsp;string strSQL = "select * from product";<br>&nbsp;OleDbConnection mycon;<br>&nbsp;OleDbCommand mycmd;<br>&nbsp;public void page_load(Object sender,EventArgs e){<br>&nbsp;if(!IsPostBack){<br>&nbsp;string strDSN = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("data.mdb");<br>&nbsp;try{<br>&nbsp; mycon = new OleDbConnection(strDSN);<br>&nbsp; mycmd = new OleDbCommand(strSQL,mycon);<br>&nbsp;mycon.Open();<br>&nbsp;datagrid1.DataSource = mycmd.ExecuteReader();<br>&nbsp;datagrid1.DataBind();<br>&nbsp;}catch(OleDbException f){<br>&nbsp; Response.Write("数据库连接出错!");<br>&nbsp;}<br>&nbsp;}<br>&nbsp;}<br>&nbsp;public void DataGrid_DeleteItem(Object sender,DataGridCommandEventArgs e){<br>&nbsp;string delCmd = "delete from product where <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#112;&#105;&#100;&#61;&#64;&#112;&#105;&#100;">pid=@pid</a>";<br>&nbsp;mycon = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("data.mdb"));<br>&nbsp;mycmd = new OleDbCommand(delCmd,mycon);<br>&nbsp;mycmd.Parameters.Add("@pid",datagrid1.DataKeys[e.Item.ItemIndex]);<br>&nbsp;mycon.Open();<br>&nbsp;mycmd.ExecuteNonQuery();<br>&nbsp;Response.Write("&lt;script type='text/javascript'&gt; alert('删除成功完成!'); window.location.href='ConnAcc2.aspx'; &lt;/s" + "cript&gt;");<br>&nbsp;//Response.Write(datagrid1.DataKeys[e.Item.ItemIndex]);<br>&nbsp;<br>&nbsp;}<br>&nbsp;<br>&nbsp;public void DataGrid_EditorItem(Object sender,DataGridCommandEventArgs e){<br>&nbsp;Response.Write(datagrid1.DataKeys[e.Item.ItemIndex]);<br>&nbsp;}<br>&lt;/script&gt;</p>
<p>&lt;form runat="server"&gt;<br>&lt;asp:DataGrid ID="datagrid1" runat="server" ShowFooter="false" AutoGenerateColumns="false" OnDeleteCommand="DataGrid_DeleteItem" DataKeyField="pid"<br>&nbsp;OnEditCommand="DataGrid_EditorItem"&gt;<br>&lt;columns&gt;<br>&lt;asp:BoundColumn DataField="pname" HeaderText="产品名称"&gt;&lt;/asp:BoundColumn&gt;<br>&lt;asp:ButtonColumn CommandName="delete" Text="删除" ButtonType="PushButton"&gt;&lt;/asp:ButtonColumn&gt;<br>&lt;asp:HyperLinkColumn text="编辑" DataNavigateUrlField="pid" DataNavigateUrlFormatString="Update.aspx?pid={0}"&gt;&lt;/asp:HyperLinkColumn&gt;<br>&lt;asp:TemplateColumn&gt;<br>&lt;itemtemplate&gt;<br>&lt;asp:HyperLink Text="修改" NavigateUrl='&lt;%#"Update.aspx?id="+DataBinder.Eval(Container.DataItem,"pid")+"&amp;name="+DataBinder.Eval(Container.DataItem,"pname")%&gt;' runat="server"&gt;<br>&lt;/asp:HyperLink&gt;<br>&lt;/itemtemplate&gt;<br>&lt;/asp:TemplateColumn&gt;<br>&lt;/columns&gt;<br>&lt;/asp:DataGrid&gt;<br>&lt;/form&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>&nbsp;</p>
<img src ="http://www.blogjava.net/hayun/aggbug/115769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hayun/" target="_blank">苑</a> 2007-05-07 22:31 <a href="http://www.blogjava.net/hayun/articles/dotnet1.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我开发的BBS论坛</title><link>http://www.blogjava.net/hayun/articles/asp5.html</link><dc:creator>苑</dc:creator><author>苑</author><pubDate>Mon, 20 Nov 2006 16:10:00 GMT</pubDate><guid>http://www.blogjava.net/hayun/articles/asp5.html</guid><description><![CDATA[
		<p>首先启动IIS 下面为论坛图解:<br /><img src="http://www.bokeo.net/UploadFiles/2006-11/1120231585.jpg" /><br /><br /><img src="http://www.bokeo.net/UploadFiles/2006-11/1120266082.jpg" /><br /><br /><br /><img src="http://www.bokeo.net/UploadFiles/2006-11/1120883706.jpg" /><br /><br /><img src="http://www.bokeo.net/UploadFiles/2006-11/1121858849.jpg" /><br /><br /><br /><img src="http://www.bokeo.net/UploadFiles/2006-11/1121859179.jpg" /></p>
<img src ="http://www.blogjava.net/hayun/aggbug/82405.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hayun/" target="_blank">苑</a> 2006-11-21 00:10 <a href="http://www.blogjava.net/hayun/articles/asp5.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#编写ATM模拟程序</title><link>http://www.blogjava.net/hayun/articles/asp2.html</link><dc:creator>苑</dc:creator><author>苑</author><pubDate>Sun, 12 Nov 2006 14:55:00 GMT</pubDate><guid>http://www.blogjava.net/hayun/articles/asp2.html</guid><description><![CDATA[
		<p>
				<font color="#ff1493">先编写一个连接数据库的类</font>
				<br />using System;</p>
		<p>namespace ATM<br />{</p>
		<p> public class CheckProcess <br /> {<br />  public int tid;<br />  ConnDB db;<br />  public CheckProcess()<br />  {<br />    db=new ConnDB();<br />  }<br />  public bool checkUser(string name,string pass)<br />  {<br />   int a=db.examine(name,pass);<br />   if(a!=0)<br />   {<br />    return true;<br />   }<br />   return false;<br />  }<br />  public bool checknumber(string str){<br />  float f=float.Parse(str);<br />   if(f &lt;=5000){<br />   return true;<br />   }<br />  return false;<br />  }<br />  public bool checkinput(string str)<br />  {<br />   char[] c= str.ToCharArray();<br />   for(int i=0;i&lt;c.Length;i++)<br />   {<br />    if(c[i]&lt;'.'||c[i]&gt;'9'||c[i]=='/')<br />    {<br />     return false;<br />    }<br />   }<br />   return true;<br />  }<br />  public bool checkPassword(string str)<br />  {<br />   char[] c= str.ToCharArray();<br />   for(int i=0;i&lt;c.Length;i++)<br />   {<br />    if(c[i]&lt;'.'||c[i]&gt;'9')<br />    {<br />     return false;<br />    }<br />   }<br />   return true;<br />  }<br /> }<br />}<br /><font color="#ff1493">下面是处理用户输入的类:</font><br />using System;</p>
		<p>namespace ATM<br />{</p>
		<p> public class CheckProcess <br /> {<br />  public int tid;<br />  ConnDB db;<br />  public CheckProcess()<br />  {<br />    db=new ConnDB();<br />  }<br />  public bool checkUser(string name,string pass)<br />  {<br />   int a=db.examine(name,pass);<br />   if(a!=0)<br />   {<br />    return true;<br />   }<br />   return false;<br />  }<br />  public bool checknumber(string str){<br />  float f=float.Parse(str);<br />   if(f &lt;=5000){<br />   return true;<br />   }<br />  return false;<br />  }<br />  public bool checkinput(string str)<br />  {<br />   char[] c= str.ToCharArray();<br />   for(int i=0;i&lt;c.Length;i++)<br />   {<br />    if(c[i]&lt;'.'||c[i]&gt;'9'||c[i]=='/')<br />    {<br />     return false;<br />    }<br />   }<br />   return true;<br />  }<br />  public bool checkPassword(string str)<br />  {<br />   char[] c= str.ToCharArray();<br />   for(int i=0;i&lt;c.Length;i++)<br />   {<br />    if(c[i]&lt;'.'||c[i]&gt;'9')<br />    {<br />     return false;<br />    }<br />   }<br />   return true;<br />  }<br /> }<br />}<br /><font color="#ff1493">Form1部分代码：</font><br />  private void button1_Click(object sender, System.EventArgs e)<br />  {<br />   CheckProcess pro=new CheckProcess();<br />   name=text1.Text;<br />   pass=text2.Text;<br />   if(!name.Equals("")||!pass.Equals(""))<br />   {<br />    if(pro.checkUser(name,pass))<br />    {<br />     ConnDB db=new ConnDB();<br />     int a=db.getID(name,pass);<br />     ATM.Form2 f2=new Form2();<br />     f2.setUserID(a,name,pass);<br />     this.Hide();<br />     f2.Show();<br />    }<br />    else<br />    {<br />     MessageBox.Show("产生错误!");<br />    }<br />   }<br />   else<br />   {<br />    label3.ForeColor=System.Drawing.Color.Red;<br />    label3.Text="请输入正确的用户名或密码!";<br />   }<br />  }<br /><font color="#ff1493">Form2部分代码：</font><br />  private int id;<br />  private string name;<br />  private string pwd;<br />  public void setUserID(int id,string name,string pwd){<br />  this.id=id;<br />  this.name = name;<br />  this.pwd=pwd;<br />  }<br />  private void Form2_Load(object sender, System.EventArgs e)<br />  {<br />   this.Text="欢迎用户"+name+"登陆请选择您需要的操作";<br />  }<br />  private void button5_Click(object sender, System.EventArgs e)<br />  {<br />   ATM.Form1 f1=new Form1();<br />   this.Close();<br />   f1.Show();<br />  }<br />  private void button1_Click(object sender, System.EventArgs e)<br />  {<br />   ConnDB db=new ConnDB();<br />   ATM.Form3 f3=new Form3();<br />   string price=db.getPrice(id);<br />   f3.setUserID(id,price);<br />   f3.Show();<br />  }<br />  private void button3_Click(object sender, System.EventArgs e)<br />  {<br />   ConnDB db=new ConnDB();<br />   string price=db.getPrice(id);<br />   MessageBox.Show("你当前帐户余额为:"+price+"元(RMB)          ","用户"+name+"您好!",MessageBoxButtons.OK,MessageBoxIcon.Information);<br />  }</p>
		<p>  private void button2_Click(object sender, System.EventArgs e)<br />  {<br />   ConnDB db=new ConnDB();<br />   string str =db.getPrice(id);<br />   ATM.Form4 f4=new Form4();<br />   f4.setUser(id,str);<br />   f4.Show();<br />  }</p>
		<p>  private void button4_Click(object sender, System.EventArgs e)<br />  {<br />   ATM.Form5 f5=new Form5();<br />   f5.setUserName(name,pwd,id);<br />   f5.Show();<br />  }<br /><br /><font color="#ff1493">form3部分代码：</font><br />  private void button1_Click(object sender, System.EventArgs e)<br />  {<br />   ConnDB db=new ConnDB();<br />   CheckProcess p=new CheckProcess();<br />   if(!this.textBox1.Text.Equals("")&amp;&amp;this.textBox1.Text.Length&lt;10)<br />   {<br />    if(p.checkinput(this.textBox1.Text)&amp;&amp;p.checknumber(this.textBox1.Text))<br />    {<br />     bool flan=db.ReduceMoney(this.textBox1.Text,id,price);<br />     if(flan)<br />     {<br />      MessageBox.Show("输入金额已成功取出             ","Information",MessageBoxButtons.OK,MessageBoxIcon.Information);<br />      this.Close();<br />     }<br />     else<br />     {<br />      MessageBox.Show("对不起!您的帐户不足","Information",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />      this.textBox1.Text="";<br />     }   <br />    }<br />    else<br />    {<br />     MessageBox.Show("您的输入有问题！","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />     this.textBox1.Text="";<br />    }<br />   }<br />   else<br />   {<br />    MessageBox.Show("产生错误请重新填写!!","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />    this.textBox1.Text="";<br />   }<br />   }<br /><br /><font color="#ff1493">form4部分代码：</font><br />  private void button1_Click(object sender, System.EventArgs e)<br />  {<br />   ConnDB db=new ConnDB();<br />   CheckProcess p=new CheckProcess();<br />   if(!this.textBox1.Text.Equals("")&amp;&amp;this.textBox1.Text.Length &lt; 10)<br />   {<br />    if(p.checkinput(this.textBox1.Text))<br />    {<br />     bool flan =db.AddMoney(this.textBox1.Text,id);<br />     if(flan)<br />     {<br />      MessageBox.Show("输入金额已成功存入帐户","Information",MessageBoxButtons.OK,MessageBoxIcon.Information);<br />      this.Close();<br />     }<br />     else<br />     {<br />      MessageBox.Show("对不起!  输入金额没有存入  请重新输入!","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />      this.textBox1.Text="";<br />     }     <br />    }<br />    else<br />    {<br />     MessageBox.Show("请输入数字!","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />     this.textBox1.Text="";<br />    }<br />   }<br />   else<br />   {<br />    MessageBox.Show("产生错误!请重新输入!","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />    this.textBox1.Text="";<br />   }<br />  }<br /><br /><font color="#ff1493">form5部分代码:</font><br />  private void button1_Click(object sender, System.EventArgs e)<br />  {<br />   CheckProcess p=new CheckProcess();<br />   if(!this.textBox1.Text.Equals("")||!this.textBox2.Text.Equals(""))<br />   {<br />    if(this.textBox1.Text.Length == 6 || this.textBox2.Text.Length == 6)<br />    {<br />     if(p.checkPassword(this.textBox1.Text)&amp;&amp;p.checkPassword(this.textBox2.Text))<br />     {<br />      if(this.textBox1.Text.Equals(pwd))<br />      {<br />       ConnDB db=new ConnDB();<br />       bool flan=db.checkUserpass(this.textBox2.Text,id);<br />       if(flan)<br />       {<br />        MessageBox.Show("修改成功完成    ","Update Success",MessageBoxButtons.OK,MessageBoxIcon.Information);<br />        this.Close();<br />       }<br />       else<br />       {<br />        MessageBox.Show("对不起!    修改失败!    ","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />        this.Close();<br />       }<br />      }<br />      else<br />      {<br />       MessageBox.Show("对不起！您的密码不正确!    ","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />       this.textBox1.Text="";<br />       this.textBox2.Text="";<br />      }<br />     }<br />     else<br />     {<br />      MessageBox.Show("请输入0~9之间的整数    ","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />      this.textBox1.Text="";<br />      this.textBox2.Text="";<br />     }       <br />    }<br />    else{<br />    MessageBox.Show("密码太长或太短请输入6位密码    ","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);<br />    this.textBox1.Text="";<br />    this.textBox2.Text="";<br />    }<br />   }<br />   else<br />   {<br />    MessageBox.Show("请输入内容          ","What way?",MessageBoxButtons.OK,MessageBoxIcon.Warning);<br />   }<br />  }</p>
<img src ="http://www.blogjava.net/hayun/aggbug/80764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hayun/" target="_blank">苑</a> 2006-11-12 22:55 <a href="http://www.blogjava.net/hayun/articles/asp2.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP数据库连接</title><link>http://www.blogjava.net/hayun/articles/asp.html</link><dc:creator>苑</dc:creator><author>苑</author><pubDate>Sat, 04 Nov 2006 16:35:00 GMT</pubDate><guid>http://www.blogjava.net/hayun/articles/asp.html</guid><description><![CDATA[&lt;%<br />'以OLEDB形势访问SQL Server数据库<br /> set con=server.CreateObject("adodb.connection")<br /> con.connectionstring="provider=sqloledb;data source=.;uid=sa;pwd=;database=server"<br /> con.open<br /> set rs=server.CreateObject("adodb.recordset")<br /> sql="select * from kop"<br /> rs.open sql,con,2,3<br /> response.Write(rs("id")&amp;"&amp;nbsp;")<br /> response.Write(rs("name")&amp;"&amp;nbsp;")<br /> response.Write(rs("http")&amp;"&amp;nbsp;")<br /> response.Write(rs("adds")&amp;"&amp;nbsp;")<br />%&gt;<br /><br />&lt;%<br />'以OLEDB形势访问Access数据库<br /> set con=server.CreateObject("adodb.connection")<br /> con.connectionstring="provider=microsoft.jet.oledb.4.0;data source="&amp;MapPath("color.mdb")<br /> con.open<br /> set rs=server.CreateObject("adodb.recordset")<br /> sql="select * from class1"<br /> rs.open sql,con,2,3<br /> response.Write(rs("id")&amp;"&amp;nbsp;")<br /> response.Write(rs("name")&amp;"&amp;nbsp;")<br /> response.Write(rs("http")&amp;"&amp;nbsp;")<br /> response.Write(rs("fileworks")&amp;"&amp;nbsp;")<br />%&gt;<img src ="http://www.blogjava.net/hayun/aggbug/79141.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hayun/" target="_blank">苑</a> 2006-11-05 00:35 <a href="http://www.blogjava.net/hayun/articles/asp.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>