Рекомендуется: сравнение нескольких способов генерации статических HTML -файлов для ASP Существует много преимуществ для преобразования динамических страниц для генерации статических файлов HTML, таких как генерация веб -страниц HTML, способствует включению поисковых систем (особенно для страниц, которые принимают динамические параметры). При доступе к стойке регистрации он отделен от доступа к данным, облегчая давление на доступ к базе данных и ускоряет открытие веб -страниц.
Используйте ASP, чтобы генерировать код проверки цвета изображения
49 строк кода, три файла
Файл ASP: code.asp
Файлы данных: body.fix, head.fix
Использование: <img src = code.asp>
<%Опция explicitResponse.buffer = truenumCodefunction numCode () response.expires = -1 response.addheader pragma, no-cache response.addheader cache-ctrol, без кэша dim znum, i, j dim ados, ados1 рандомизированный таймер znum = cint (8999*rnd 1000). Zimg (4), NSTR NSTR = CSTR (Znum) для i = 0 до 3 Zimg (i) = cint (mid (nstr, i 1,1)) Next dim pos set ados = server.createObject (adodb.stream) ados.mode = 3 ados.type = 1 ados.opene set ados1 = server.createobjem (ados.strem). Ados1.type = 1 ados1.open ados.loadfromfile (server.mappath (body.fix))) ados1.write ados.read (1280) для i = 0 до 3 ados.position = (9-Zimg (i))*320 Ados1.position = i*320 Ados1.write Ados.Read. Ados.LoadFromFile (server.mappath (head.fix)) pos = lenb (ados.read ()) ados.position = pos для i = 0 до 9 Шаг 1 для j = от 0 до 3 ados1.position = i*32 j*320 ados.position = pos 30*ji*120 ados.write ados1.read (30) Далее. Ados.position = 0 response.binaryWrite Ados.Read () Ados.Close: SET ADOS = Nothing Ados1.Close: SET ADOS1 = FUCTION FUNCTION 'FUNCTION', созданный BlueIdea.com Веб-команда V37 2003-7-25%> |
Код объяснение:
| Response.buffer = true Numcode Функция numCode () Response.expires = -1 Ответ Response.addheader cache-ctrol, без кэша 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*ji*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 = ничего Конечная функция |
Поделиться: о разделении кода ASP и страницы Чтобы избежать трудностей с техническим обслуживанием, вызванных смешанным написанием программы ASP TML -кода, в этой статье представлен метод использования шаблонов для разделения программ и страниц для облегчения программирования. При использовании ASP для создания сайта часто появляется файл ASP, программный код и HTM