問題タブ [hbitmap]

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 投票する
0 に答える
824 参照

c++ - CImage メモリリーク?

HBITMAP に保存されているスクリーンショットを使用して、これを PNG 画像として出力しようとしています。

ただし、メモリが正しく解放されていないように見えるため、コードにはメモリ リークがあるようです。

このコードは機能しますが、メモリのクリアは行われないようです。タスク マネージャーのプライベート メモリ セット列によると、image.Destroy はメモリにまったく影響を与えませんが、image.ReleaseGDIPlus は一部のデータをクリーンアップしているように見えます。HBITMAP は前の関数から取得され、この関数とは別のコードの後半で GlobalFreed になります。

行がありませんか?

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

c++ - 透明な背景を維持しながら HBITMAP のサイズを変更する

背景が透明な画像をロードするアプリケーションがあり、設定を使用StretchBltして目的のサイズにサイズ変更します(透明度をそのままにしながら、サイズ変更された画像が「醜い」ように見える他のモードを使用してみました)。 ただし、透明な背景を、画像が表示されるウィンドウの背景に合わない色 (黒) に置き換えます。 したがって、2 つのオプションがあります 。1) 画像の透明な背景をウィンドウの背景色に置き換えてから、 2) を使用してサイズを変更します。背景の透明度を維持しながらサイズを変更します (推奨オプション) 。機能ですが、何も見つかりませんでした。HALFTONESetStretchBltMode
StretchBlt


StretchBlt




プレーンな WinAPI を使用して、これらのオプション (透明度を置き換えるか、透明度を維持したままサイズを変更する) を行うにはどうすればよいですか?

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

c++ - glReadpixels から HBITMAP を作成できませんでした

これが私のコードの一部です。私がやろうとしているのは、OpenGl フレーム キャプチャから HBITMAP を作成することです。

しかし、私の (HBITMAP)hdm は常に NULL です。多分それを行う別の方法がありますか、それとも何が問題なのですか?CreateBitmap 自体がメモリを割り当てると思いますので、間違いはここにあるはずがありません。ただし、出力配列は問題ないようです。

ここからのコードも試しました: Creating a HBITMAP from glReadPixels ですが、うまくいきませんでした。

これについて何か助けていただければ幸いです!