バーコードやQRコードが含まれる画像を読み取り、解析結果を返します
bar_Read p1,p2,p3,p4,p5,p6,p7
p1 : バーコード操作インデックス値 (bar_Init 命令から取得) p2 : 画像形式 (ImageFormat) p3 : DIB画像データ もしくは HSPのVRAM画像データ p4 : 画像の幅 p5 : 画像の高さ p6 : 画像のStride値 (画像データの1行あたりのバイト数) p7 : BAR_RESULT構造体の変数
(プラグイン / モジュール : hspdsc.dll)
バーコードやQRコードが含まれる画像を読み取り、解析結果を返します。 p1 には bar_Init 命令から取得したバーコード操作インデックス値を指定します。 p2 には 画像形式(ImageFormat)を指定します。HSPでは通常 ImageFormat_BGR を指定します。 p3 には DIBデータ もしくは HSPのVRAMデータを指定します。 mref や dsc_GetImageMem命令で本命令に渡せるデータが取得できます。 p4、p5 には画像の幅と高さを指定します。 p6 には 画像のStride値 (画像データの1行あたりのバイト数)を指定します。 正しい画像の行を判断するために使用する値になります。 RGB(24bit)データはアライメント処理が発生し、画像の幅によって1行あたりのバイト数が変化します。 (単純に 3byte × 幅 とはなりません) Stride値に0を指定した場合は、画像形式と幅からHSPBAR内で自動計算します。 Stride値にマイナスを指定した場合は、画像データの上下を反転します。 p7 には BAR_RESULT構造体の変数を指定します。 あらかじめ 変数の初期化が必要です。 変数は sdim や dim で行います。(dimの方が便利です) 変数のサイズは bar_GetSize() で取得できます。 BAR_RESULT構造体のサイズは32bit、64bitランタイム環境で異なりますので、bar_GetSize() で必ず取得したものを使用してください。
// 結果格納用変数 size = bar_GetSize() sdim res, size // または dim res, size / 4 // 4で割る
この命令の正常終了時には stat に 1 以上が返ります。 バーコードやQRコードが見つからなかった場合は、0 が返ります。 引数に誤りがあるなど、エラーが発生した場合は、マイナス値が返ります。 この命令が正常終了した場合に、必要な処理が終わった場合は 必ず bar_Free 命令を呼び出してください。忘れた場合はメモリリークします。
// 読み込み
bar_Read nIndex, ImageFormat_BGR, vram, x, y, stride, res // VRAM は BGR 順
if ( stat < 0 ) {
dialog "読み込みエラー"
bar_UnInit nIndex
end
} else : if ( stat == 0 ) {
dialog "画像内にバーコードが見つかりませんでした。"
bar_UnInit nIndex
end
}
// 以降、成功
~なにやら処理~
bar_Free res // 必ず解放!
| BAR_RESULT | BAR_RESULT構造体 | (hspdsc.dll) |
| ImageFormat | 画像形式を指定するための定義値 | (hspdsc.dll) |
| bar_Init | HSPBARを初期化します | (hspdsc.dll) |
| bar_GetTextA | バーコードの読み取りテキストのポインタ返します(Shift_JIS) | (hspdsc.dll) |
| bar_GetTextU8 | バーコードの読み取りテキストのポインタ返します(UTF-8) | (hspdsc.dll) |
| bar_CopyTextU8 | バーコードの読み取りテキストのコピーを返します(UTF-8) | (hspdsc.dll) |
| bar_CopyTextU8_GetSize | バーコードの読み取りテキストのコピーに必要なサイズを返します(UTF-8) | (hspdsc.dll) |
| bar_GetTextU16 | バーコードの読み取りテキストのポインタ返します(UTF-16) | (hspdsc.dll) |
| bar_GetSize | BAR_RESULT構造体のメモリサイズを取得します | (hspdsc.dll) |
| プラグイン / モジュール | hspdsc.dll |
| バージョン | 2.13 |
| 作成日 | 2021/6/13 |
| 著作者 | イノビア(inovia) |
| URL | https://hsp.moe/ |
| 備考 | HSP向け DirectShow キャプチャプラグイン
【32bit版ランタイムの場合】 hspdsc.asをインクルード バーコードを使用する場合はhspbar.asをインクルード 【64bit版ランタイムの場合】 hsp3_64.asをインクルード hspdsc64.asをインクルード バーコードを使用する場合はhspbar64.asをインクルード |
| グループ | hspbar.dll |
| 対応環境 |
|
| 移植のヒント | Windows |
| hs ファイル | hsphelp\hspdsc.hs |