問題タブ [bitblt]

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 に答える
636 参照

c# - フォームのサイズが変更された後、フォームをビットマップにキャプチャする

C# での作業私は、ControlまたはFormビットマップをキャプチャする必要があるプロジェクトを持っています。Controlコンストラクターでパラメーターを受け取り、次のコード (この例では単純化されています) を実行してControl.

キャプチャする必要があるコントロールごとにこのクラスのインスタンスが作成され、ビットマップが使用され (この場合は画面に描画されます)、不要になったオブジェクトは破棄されます。これはうまく機能し、以下に示すように、指定されたControlorのビットマップを提供しFormます。後者の場合は非クライアント領域を含みます。

http://i.imgur.com/ZizXjNX.png

ただし、Formもう一度キャプチャしようとすると、問題が発生します。再度キャプチャする前にサイズを変更した場合Form、2 回目のキャプチャでは、非クライアント領域が正しくないものとして表示されます。

以下は、これを説明するための画像です。左側はフォームが画面上でどのように見えるか (正しい) であり、右側は上記のコードがそれをどのようにキャプチャするか (正しくない) です。

http://i.imgur.com/y46kFDj.png

私は自分の検索から何も思いつかなかったので、誰かが私が間違っている/していないことを指摘できるかどうか疑問に思いましたか?

0 投票する
3 に答える
2371 参照

mfc - MFC OnMouseMove を使用してクロス ラインを描画します。

次のコードのように、mpDC を使用してマウス ポイントに十字線を描画したいのですが、マウスを移動すると、マウス ポイントで十字線が移動します。

しかし、BitBlt の使用方法がわからないため、描画領域 (rectRange) に線が表示されない可能性があります。

コードに従ってクロスラインを描画する別の方法

現状は写真ですここに画像の説明を入力

しかし、このコードでは、マウスの位置をずらすと多くの十字線が描画されます。

前のクロスラインをクリアするにはどうすれば...

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

c++ - Win32 C++ BitBlt 透過性

この投稿の下部で更新 された外観 私がやっていることは、1 つの白黒ビットマップを使用して、白の上に背景ビットマップを配置し、黒の上にタイル オーバーレイを配置しようとしていることです。私が抱えている問題は、オーバーレイを追加することです。

これで全パーツです

これが私の BitBlt() コードです。このコードは #5 を生成します。

同じ「hOldBitmp」を使用するかどうかはわかりませんが、どちらの方法でも同じことを行うようです。

ここでも、transparent blt 関数は完全には十分ではありません。

ありがとう。

新着

結合とラストアリングに問題がありました。私はDCとビットマップをある程度処理できますが、これは私が行う方法を理解できないことの1つです...メモリDCを作成し、DCをビットマップを保持し、DCを別のビットマップに、次にbitbltをメモリに作成します。おもう...

現時点で私が持っている冗長なコードを次に示します。本当に、疑似コード、ビットマップの結合方法、必要な DC の数などについて助けが必要です。

buffer.getBufferDC() は、画面に表示されるメイン DC です。

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

c++ - Win32 C++ BitBlt ラスター メソッドと透過性

最近これについて質問したところ、答えは理解できましたが、コードに変換できませんでした。ものをいじって、漏れを修正する別の日の後。しかし、私は文字通り私の人生でこれを理解することはできません.

これは少し異なります。マップ ビットマップの下にある背景ビットマップを取得するだけです。私が持っているもの

私の問題は組み合わせです...ラスター操作の結果を保持するためにメモリDCを作成します。私はこれに頭を悩ませることはできません。どんな助けも素晴らしいでしょう。

ありがとう。

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

c++ - 画面上の座標からtesseract-ocrを読み取る方法は?

指定された座標で画面からテキストを読み取ろうとするクラス/関数を作成する方法の例を探していました。

bitblt を使用して画面の指定されたセクションをキャプチャし、その上で tesseract を実行する単純なもの。画像ファイルをディスクに作成する必要なく、すべてメモリ内で実行されます。

Tesseract は非常に貧弱な API を持っているようで、すべてのものの TIF イメージを必要とするようです。私が見る限り、コードを徹底的に掘り下げることなく、ビットマップ メモリ イメージを受け入れるようにすることさえできません。

実際の例が理想的です。

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

winapi - Linuxでbitbltを使用するには?

Linux で bitblt を使用できますか? bitblt は Windows でのグラフィカル操作を処理するために開発されたという bitblt のドキュメントを見ました。

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

c++ - StretchBlt が非常に遅い - 良い代替手段はありますか?

画像サイズをリサイズしたい。だから現在私はこれを行います:

しかし、これは非常に遅いです。

私のテストでは、BitBlt は StretchBlt よりも 75 倍高速です。CompatibleDC からビット配列を取得するには、BitBlt/StretchBlt が必要です。

StretchBlt の代わりに BitBlt を使用して (RGB 24 ビット配列を取得するため)、サイズ変更を行う独自の関数に送信したいと思います。

真剣に言うと、StretchBlt よりも速く、HALFTONE と同じ品質でそれを行う関数を作成する知識がありません。

たぶんASMも必要です-私にはわかりません。私は C++ (ビジュアル スタジオ) で書いています。ありがとう!

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

c++ - bitblt を使用している場合でも一貫性のない MFC のちらつき

同じ表示機能を使用しているにもかかわらず、四角形を回転させるとちらつきが発生しますが、四角形を移動するとちらつきが発生しません。フロアレイアウトのシナリオです。

説明するためのいくつかの画像。中央の赤い四角形が選択され、移動されます。

移動例

しかし、回転しようとすると、次のことが起こります。

回転の例

長方形を回転させるために使用されるコード:

ショー機能: