問題タブ [lockbits]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
664 参照

android - MIFARE Ultralight C タグの特定のデータ ページを永久にロックするにはどうすればよいですか?

データページ 30 から 38 にいくつかのデータを正常に書き込みました。

その後、それ以上の書き込みを防ぐためにそれらのページをロックしたいと思います。書き込みロックは永続的なものにする必要があるため、認証キーを知っていても、それらのページに書き込めないようにする必要があります。

データシートを理解している限り、OTP ページにいくつかのビットを書き込む必要があります。しかし、具体的には 30 ~ 38 ページをロックするために送信する必要があるコマンドを完全には理解していません。

カードに送信する必要があるコマンドを特定するのに誰か助けてもらえますか? 私の考えでは、40 ページに F0 を書き込む必要があります。ただし、これにより、28、29、および 39 ページがロックされ、使用できなくなる可能性があります。

0 投票する
2 に答える
4879 参照

c# - C# get GetPixel / SetPixel カラー処理を Lockbits に変換するにはどうすればよいですか?

編集:返信に深く感謝します。ここで何よりも必要なのは、ネストされたループ内の数行のコードで行うことのサンプル コードです。これは、GetPixel/SetPixel で正しく機能するものですが、Lockbits を使用しても正しく機能しないものでもあるためです。ありがとうございました

処理時間を改善するために、画像処理フィルターを GetPixel / SetPixel から Lockbits に変換しようとしています。 ここの Stack Overflow、MSDN、およびその他のサイトでも Lockbits のチュートリアルを見てきましたが、何か間違ったことをしています。 緑を減らして赤と紫の効果を作成する、非常に単純なフィルターから始めます。これが私のコードです:

そのため、GetPixel / SetPixel コードは正常に動作しますが、遅いです。だから私はこれを試しました:

ネストされたループの最初の行に到達すると、「 「System.InvalidOperationException」タイプの未処理の例外が System.Drawing.dll で発生しました追加情報:ビットマップ領域は既にロックされています」というエラーがスローされます。

これは初心者のエラーに違いないと思います。誰かがこの非常に単純なフィルターをロックビットに変換する正しい方法を示してくれれば幸いです。どうもありがとうございました

0 投票する
1 に答える
60 参照

c# - この LockBits 数学エラーを修正するにはどうすればよいですか?

GetPixel/SetPixel を使用して、以下を使用して、赤と紫を強調する画像フィルターを強化しました。

LockBits を使用して、次のものに置き換えました。

ただし、緑のピクセル値が 128 減算される代わりに、128 が緑の値に加算されます。

私がこれを行う場合:

緑の値にも 128 が加算されます。結果の画像は、128 を引いた画像と同じです。

では、LockBits 内で適切に機能する単純な数学を取得するにはどうすればよいでしょうか?

0 投票する
1 に答える
181 参照

arrays - LockBits 配列で DrawEllipse を使用する方法 (楕円を形成するピクセルのセットを生成する方法)

このクラスを使用して、LockBits 関数に基づいてビットマップのピクセルを塗りつぶしています。

ここで、すべてのピクセルを塗りつぶす代わりに、楕円を塗りつぶす必要があります (実際には多くの楕円になるので、LockBits を使用します)。そのため、ある種の数式を使用してピクセルごとに楕円を描画する方法を探しました。しかし、私はあまり助けを見つけられませんでした。また、私はこの数学が苦手です。だから、私の質問は次のとおりです。塗りつぶされた楕円を形成するピクセルの配列を作成する方法は? ありがとうございました

.

補足 (無視してかまいません):

私がやろうとしていることを正確に説明しますので、私の状況を理解するのに役立つかもしれません..ビットマップの特定の領域、塗りつぶされたピクセルはその領域のピクセルの総数の割合を持っている必要がありますが、そのため、楕円をピクセルごとに (またはピクセルの配列を使用して) 描画して、その数を追跡する必要があります。塗りつぶされたピクセル。

0 投票する
0 に答える
202 参照

c# - Marshal.Copy 使用時の System.AccessViolation 例外

Stack Overflow で同様の投稿を見たことがありますが、私がやろうとしていることとまったく同じものはありません。そのため、新しい質問を作成しました。

画面の小さな部分を英数字のビットマップと比較して、スクリーンショットを OCR しようとしています。(この質問の目的のために、それがOCRの許容可能な方法であると仮定してください-私はそれが本当に良い方法でも効率的な方法でもないことを知っています)。比較をより高速に実行するために lockbits メソッドを使用しています (免責事項: 昨夜 StackOverflow/Google から学んだ [Marshal を含む] lockbits メソッドについて知っていることはすべて...それほど多くはありません)。コードを実行しようとすると、「保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。」という System.AccessViolation 例外が発生します。

System.Runtime.InteropServices.Marshal.Copy(bmd1.Scan0, ​​b1bytes, 0, bytes); でエラーが発生します。下の行。このエラーが発生する理由を誰か教えてもらえますか? そして、それを回避する方法は?

(以下のコードでは、RTA はスクリーン キャプチャであり、数値配列には 0 ~ 9 の数値のビットマップが含まれています)

よろしくお願いします!

0 投票する
2 に答える
1357 参照

c# - Lockbits を使用してアルファ係数を変更する

画像のアルファ係数を変更する関数を作成しました。私は setpixel と getpixel を使用していますが、これは非常に遅いです。Lockbits 方式の方が高速であることがわかりました。Lockbits を使用するにはどうすればよいですか? これが私の現在のコードです: