adodb.streamを使用して色確認コードを作成する方法を知っていますか?今日、Foxin Technology Channelの編集者は、例で操作方法を実証しています。この知識を学ぶのはあなたに役立つことを願っています。
コードコピーは次のとおりです。Response.buffer = true
numcode
functionnumcode()
Response.Expires = -1
response.addheader「プラグマ」、「ノーキャッシュ」
Response.Addheader「Cache-Ctrol」、「No-Cache」
Dim Znum、I、J
Dim Ados、Ados1
タイマーをランダム化します
ランダムな4桁の数字を生成します。
Znum = Cint(8999*rnd+1000)
セッションに合格します
session( "getCode")= Znum
これは、ループの場合、randorm数を添えサブスクリプト3のアレイに配置することです。これは、後続の配列変換を提供するのに便利です。
Dim Zimg(3)、NSTR
NSTR = CSTR(ZNUM)
i = 0〜3の場合
zimg(i)= cint(mid(nstr、i+1,1))
次
Dim Pos
'画像データ操作のための2つの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 1ポイント、10x10ポイント1つの数字、1ポイント3バイト(バイナリで8ビット、16進数で00〜ff)
'10ドットの列30バイト +ラインの端マーク00 00 00 2バイト32バイト。したがって、各桁10x10の長さよりも小さい幅の10x100画像は320バイトです
'長さが幅よりも大きい場合、行0000の終わりのマークはありません。直接300バイト
これらは、BMP 24ビットデータの詳細です
「頭に関しては、長さと幅、画像のマーキングなどを含む非常にシンプルです。
ados.loadfromfile(server.mappath( "body.fix"))
ados1.write ados.read(1280)
'ループの最初のものは、生成された乱数の順に、10x100デジタルアレイから対応する4つの数値を抽出します
しかし、数字の垂直配列
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バイト単位で位置を相殺できます
ループの2番目は数字の配列変換を実行し、垂直ブロックを水平ブロックに変換します
この方法は、320バイトの4回を抽出してADOSオブジェクトに書き込み、2番目の行からオフセットされた画像データを抽出することです。
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"
respons.binarywrite ados.read()
Ados.Close:Ados = Nothingを設定します
ADOS1.CLOSE:ADOS1 =何も設定しません
エンド関数
上記の記事は、adodb.streamを使用して色検証コードを作成するエラーの新しいテクノロジーチャネルの編集者です。誰もがこれらの運用方法を学んだと思います。エラー新しいテクノロジーチャネルネットワークは、あなたのために技術的な専門知識を整理し続けます。あなたが私たちに注意を払い続けることを願っています!