ASP ใช้รหัสการตรวจสอบรูปแบบ GIF โดยไม่มีส่วนประกอบเพื่อนที่ต้องการรหัสการตรวจสอบ ASP สามารถอ้างถึงได้
-
คำสั่งการแสดงผลที่ชัดเจน '
คลาส com_gifcode_class
สาธารณะเสียงดังนับความกว้างความสูงมุมชดเชยเส้นขอบ
กราฟส่วนตัว (), ระยะขอบ (3)
คลาสย่อย class_initialize ()
สุ่ม
Noisy = 16 'ความน่าจะเป็นของจุดรบกวนจะปรากฏขึ้น
Count = 4 'ปริมาณอักขระ
ความกว้าง = 80 'ความกว้างของรูปภาพ
ความสูง = 20 'ความสูงของภาพ
Angle = 2 'ประกาศการเปลี่ยนแปลงแบบสุ่ม
Offset = 20 'การเปลี่ยนแปลงแบบสุ่มเพื่อชดเชย
เส้นขอบ = 1 'ขนาดเฟรม
สิ้นสุดย่อย
ฟังก์ชั่นสาธารณะสร้าง ()
const ccharset = 123456789
dim i, x, y
dim vvalidCode: vValidCode =
Dim Vindex
กราฟ Redim (WIDTH-1, HEIGHT-1)
สำหรับ i = 0 ถึง count -1
vindex = int (rnd * len (ccharset)))
VValidCode = VValidCode + Mid (CCHARSET, VIDEX + 1, 1)
SetDraw Vindex, I
ต่อไป
สร้าง = vValidCode
ฟังก์ชันสิ้นสุด
Sub SetDOT (PX, PY)
ถ้า px * (width-px-1)> = 0 และ py * (ความสูง py-1)> = 0 แล้ว
กราฟ (px, py) = 1
สิ้นสุดถ้า
สิ้นสุดย่อย
Public Sub SetDraw (Pindex, Pnumber)
'ข้อมูลอักขระ
Dim Dotdata (8)
dotdata (0) = อาร์เรย์ (30, 15, 50, 1, 50, 100)
dotdata (1) = อาร์เรย์ (1, 34, 30, 1, 71, 1, 100, 34, 1, 100, 93, 100, 86)
dotdata (2) = อาร์เรย์ (1, 1, 100, 1, 42, 42, 100, 70, 50, 100, 1, 70)
dotdata (3) = อาร์เรย์ (100, 73, 6, 73, 75, 6, 75, 100)
dotdata (4) = อาร์เรย์ (100, 1, 1, 1, 1, 50, 50, 35, 55, 100, 80, 50, 100, 1, 95)
dotdata (5) = อาร์เรย์ (100, 20, 70, 1, 20, 1, 1, 30, 1, 80, 30, 100, 70, 100, 100, 80, 100, 60, 70, 50, 30, 50, 50 , 1, 60)
dotdata (6) = อาร์เรย์ (6, 26, 6, 6, 100, 6, 53, 100)
dotdata (7) = อาร์เรย์ (100, 30, 100, 20, 70, 1, 30, 1, 1, 20, 30, 70, 80, 70, 100, 30, 100, 80, 80, 1, 70, 100 , 30)
dotdata (8) = อาร์เรย์ (1, 80, 30, 100, 80, 100, 100, 70, 100, 20, 70, 1, 30, 1, 1, 1, 20, 1, 40, 30, 50, 70, 50, 50 , 100, 40)
dim vertent: vextent = ความกว้าง / นับ
มาร์จิ้น (0) = ชายแดน + vextent * (RND * ออฟเซ็ต) / 100 + ระยะขอบ (1)
มาร์จิ้น (1) = vextent * (pnumber + 1) -border -vextent * (rnd * ออฟเซ็ต) / 100
มาร์จิ้น (2) = เส้นขอบ + ความสูง * (RND * ออฟเซ็ต) / 100
มาร์จิ้น (3) = ความสูง -บอร์ -เฮท * (RND * ออฟเซ็ต) / 100
Dim Vstartx, Vendx, Vstarty, Vendy
Dim Vwidth, vdx, vdx, vdy, vdeltat
Dim Vangle, Vlength
vwidth = int (margin (1) -margin (0))
vheight = int (margin (3) -margin (2))
'เริ่มพิกัด
vStartx = int ((dotdata (pindex) (0) -1) * vwidth / 100)
vstarty = int
Dim I, J
สำหรับ i = 1 ถึง ubound (dotdata (pindex), 1)/2
ถ้า dotdata (pindex) (2*i-2) <> 0 และ dotdata (pindex) (2*i) <> 0 จากนั้น
'จุดสิ้นสุดพิกัด
vendx = (dotdata (pindex) (2 * i) -1) * vwidth / 100
vendy = (dotdata (pindex) (2 * i+1) -1) * vheight / 100
'ช่องว่างแนวนอน
vdx = vendx -vstartx
'ช่องว่างแนวตั้ง
vdy = vendy -vstarty
'มุมเอียง
ถ้า vdx = 0 แล้ว
Vangle = sgn (vdy) * 3.14/2
อื่น
vangle = atn (vdy / vdx)
สิ้นสุดถ้า
'สองพิกัดระยะทาง
ถ้าบาป (Vangle) = 0 แล้ว
vlength = vdx
อื่น
vlength = vdy / sin (Vangle)
สิ้นสุดถ้า
'มุมหมุนแบบสุ่ม
Vangle = Vangle + (rnd -0.5) * 2 * มุม * 3.14 * 2/100
vdx = int (cos (vangle) * vlength)
vdy = int (sin (vangle) * vlength)
ถ้า abs (vdx)> abs (vdy) ดังนั้น vdeltat = abs (vdx) อื่น ๆ vdeltat = abs (vdy)
สำหรับ j = 1 ถึง vdeltat
setDot margin (0) + vstartx + j * vdx / vdeltat, margin (2) + vstarty + j * vdeltatat
ต่อไป
VSTARTX = VSTARTX + VDX
vstarty = vstarty + vdy
สิ้นสุดถ้า
ต่อไป
สิ้นสุดย่อย
ผลลัพธ์ย่อยสาธารณะ ()
Response.expires = -9999
Response.addheader Pragma ไม่มีแคช
Response.adheader Cache-clm, ไม่มีแคช
Response.contentType = image/gif
'ประเภทไฟล์
Response.binaryWrite Chrb (asc (g)) & chrb (asc (i)) & chrb (asc (f))
'ข้อมูลเวอร์ชัน
Response.binaryWrite Chrb (ASC (8)) & Chrb (ASC (9)) & Chrb (ASC (A))
'ความกว้างของหน้าจอตรรกะ
Response.binaryWrite Chrb (Width Mod 256) & Chrb ((ความกว้าง / 256) Mod 256)
'ความสูงของหน้าจอตรรกะ
Response.binaryWrite Chrb (ความสูง mod 256) & Chrb (ความสูง / 256 mod 256)
Response.binaryWrite Chrb (128) & Chrb (0) & Chrb (0)
'รายการสีทั่วโลก
Response.binaryWrite Chrb (255) & Chrb (255) & Chrb (255)
Response.binaryWrite Chrb (0) & Chrb (85) & Chrb (255)
'การระบุภาพ
Response.binaryWrite Chrb (ASC (,,))
Response.binaryWrite Chrb (0) & Chrb (0) & Chrb (0) & Chrb (0)
'ความกว้างของภาพ
Response.binaryWrite Chrb (Width Mod 256) & Chrb ((ความกว้าง / 256) Mod 256)
'ภาพสูง
Response.binaryWrite Chrb (ความสูง mod 256) & Chrb (ความสูง / 256 mod 256)
Response.binaryWrite Chrb (0) & Chrb (7) & Chrb (255)
สลัว x, y, i: i = 0
สำหรับ y = 0 ถึงความสูง -1
สำหรับ x = 0 ถึงความกว้าง -1
ถ้า rnd <noisy / 100 แล้ว
Response.binaryWrite Chrb (1-graph (x, y))
อื่น
ถ้า x * (x-width) = 0 หรือ y * (y-height) = 0 แล้ว
Response.binaryWrite Chrb (กราฟ (x, y))
อื่น
ถ้ากราฟ (x-1, y) = 1 หรือกราฟ (x, y) หรือกราฟ (x, y-1) = 1 แล้ว
Response.binaryWrite Chrb (1)
อื่น
Response.binaryWrite Chrb (0)
สิ้นสุดถ้า
สิ้นสุดถ้า
สิ้นสุดถ้า
ถ้า (y * width + x + 1) mod 126 = 0 แล้ว
Response.binaryWrite Chrb (128)
i = i + 1
สิ้นสุดถ้า
ถ้า (y * width + x + i + 1) mod 255 = 0 แล้ว
ถ้า (ความกว้าง * ความสูง -y * ความกว้าง -x -1)> 255 แล้ว
Response.binaryWrite Chrb (255)
อื่น
Response.binaryWrite Chrb (ความกว้าง * ความสูง mod 255)
สิ้นสุดถ้า
สิ้นสุดถ้า
ต่อไป
ต่อไป
Response.binaryWrite Chrb (128) & Chrb (0) & Chrb (129) & Chrb (0) & Chrb (59)
สิ้นสุดย่อย
ชั้นเรียนจบ
มิกจ์หรี่
ตั้งค่า mcode = new com_gifcode_class
เซสชัน (getCode) = mcode.create ()
mcode.output ()
ตั้งค่า mcode = ไม่มีอะไร
-