掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TWAIN準拠スキャナーで48ビットカラースキャン (ID:48712)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
おかげ様で”DELPHI Graphic Secrets”を拝読する事ができました。 大変詳しく又分かり易くビットマップの解説がされています。DDB、DIBSection、DIBについて分かってきました。 それで、やはり48Bitカラーでは、DIBSectionではなくDIBを使う必要があると思います。 ここからはTWAINに大きく関わる点なので、こちらで問い合わせるのが適当か分かりませんが、他に当てもないので、もし分かればご教授下さい。 現在、転送されてくる画像(正しくは画像ではありません)の縦のサイズが分からず困っています。 24ビットカラーや多分32ビットカラー等各色1バイトの画像では、TWAIN上でも@ImageInfoや@DIBSectionなどのオブジェクトに縦横のサイズ情報が得られます。 然しながら、48Bitカラーではこれらに正しいサイズ情報が反映されません。 一方で、48Bitカラーでもデータの転送自体は完了できている様に動作しています。 つまり、転送された画像データから画像の縦サイズを逆算できないか?と言う事です。 転送された画像データの総バイト数が分かれば単純に割れば求まると思いますが、今のところその情報は見当たりません。 幸いにDIBでデータ転送する際の転送バッファ情報から画像の幅は分かります。 又、転送は元画像を縦方向に分割して転送されますがその分割された縦サイズも分かります。つまり、DIB転送が繰り返される回数から、おおよその縦サイズは分かります。 問題は、最後の転送で端数が生じた場合です。(その方が普通と思われます) サンプルのソースでは、DIBSectionですが、転送バッファからデータをコピーした後、行毎にRGBの順を入れ替えている箇所があります。 ここで行数をカウントして、画像サイズの縦サイズに加味できる様に思っています。 先ずは、24ビットカラーをDIBで転送し、画面へ描画させてみようと思います。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.