Знаете ли вы, как использовать adodb.stream для создания кодов проверки цвета? Сегодня редактор канала Foxin Technology демонстрирует метод работы для вас в примере. Я надеюсь, что вам будет полезно, кто изучает эти знания.
Кода -копия выглядит следующим образом:Response.buffer = true
Numcode
Функция numCode ()
Response.expires = -1
Ответ.
Ответ.
Dim Znum, i, J.
Dim Ados, Ados1
Рандомизируйте таймер
Генерировать случайные четырехзначные числа:
znum = cint (8999*rnd+1000)
Пройти на сессию
Session ("GetCode") = Znum
Это для цикла состоит в том, чтобы поместить случайные числа в массив с подписанием 3, что удобно для обеспечения последующего преобразования массива
Dim Zimg (3), Nstr
Nstr = cstr (Znum)
Для i = 0 до 3
zimg (i) = cint (mid (nstr, i+1,1)))
Следующий
Dim Pos
'Определите два двоичных объекта Adodb.stream для работы данных изображения:
Установить ados = server.createObject ("adodb.stream")
Ados.mode = 3
Ados.Type = 1
Ados.open
Установить ados1 = server.createObject ("adodb.stream")
Ados1.mode = 3
Ados1.Type = 1
Ados1.open
'Загрузить 0 ~ 9 цифровые данные 10x100, данные массива GBR, каждый 320 байт, 10 цифр 3200 байтов
'BGR One Point, 10x10 баллов одно число, один пункт три байта (8 битов в двоичном, 00 ~ ff в шестнадцатеричной)
'Ряд из 10 точек 30 байтов + конец линии 00 00 00 2 байта 32 байта, поэтому изображение 10x100 с шириной меньше длины каждой цифры 10x10 составляет 320 байт.
«Если длина больше ширины, конечной отметки 0000 не будет, напрямую 300 байтов
Это данные BMP 24bit
«Что касается головы, это также очень просто, включая длину и ширину, начало изображения и т. Д. ~~ это всего лишь 54 байта, гораздо менее сложные, чем JPG или что -то в этом роде
Ados.LoadFromFile (server.mappath ("body.fix")))
Ados1.write Ados.read (1280)
«Первый для цикла извлечает соответствующие четыре числа из цифрового массива 10x100 в порядке сгенерированных случайных чисел
Но вертикальный массив чисел
для i = 0 до 3
Ados.position = (9-Zimg (i))*320
Ados1.position = i*320
Ados1.write Ados.read (320)
следующий
'Очистить данные об использованных ADO и вызов в файле заголовка, который заменяет новый заголовок изображения 54 байт
Ados.LoadFromFile (server.mappath ("head.fix")))
Pos = lenb (ados.read ())
Ados.position = POS 'Укажите позицию POS, и вы можете компенсировать позицию на 54 байта, чтобы добавить графические данные
Второй для цикла выполняет преобразование массивов чисел, преобразуя вертикальные блоки в горизонтальные блоки
Метод состоит в том, чтобы извлечь 4 раз из 320 байтов и записать в объект ADOS, а затем извлечь данные изображения, которые смещены со второй строки.
30 байтов связано с тем, что ширина BMP больше, чем длинная, без 00 00
для i = 0 до 9 шаг 1
для j = 0 до 3
Ados1.position = i*32+J*320
Ados.position = pos+30*j+i*120
Ados.write Ados1.read (30)
следующий
следующий
Ados.position = 0
response.binaryWrite отправляет данные изображения непосредственно клиенту
Response.contenttype = "Image/bmp"
Response.binarywrite ados.read ()
Ados.close: установить Ados = ничего
Ados1.close: установить Ados1 = ничего
Конечная функция
Приведенная выше статья является редактором нового технологического канала, скомпилированной вами с использованием adodb.stream для создания кодов проверки цвета. Я считаю, что все научились эти методы работы. Ошибка New Technology Channel Network будет продолжать организовать технические знания для вас. Я надеюсь, что вы продолжите обращать на нас внимание!