問題タブ [cbitmap]
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.
winapi - MFC を使用して ICON を BITMAP に正しく変換するにはどうすればよいですか?
別のアプリケーションのアイコンをロードしています
CBitmap
このアイコンからオブジェクトを作成するにはどうすればよいですか?
具体的には(dupの質問では実際には答えられません):
- どのデバイス コンテキストですか?
- 最後に
CBitmap
、アイコンを変換する関数よりも長く存続するオブジェクトが必要です。 - すぐにクリーンアップする必要があるものと、手元に置いておく必要があるものは何ですか? (
DC
, ...?)
これまでのコードは次のとおりです。
さて、このコードは機能しますが、理解できません:
- が必要な
CClientDC
理由 (CDC のみを使用する場合、ビットマップは表示されないか、配置する場所に応じて白黒になります。) - (なぜ)その
dc.SelectObject( pOldBmp )
線が必要なの? - なぜ私はしなければならないの
CopyImage
ですか?(そうしないと、ビットマップが反転した色で描画されることがあります。) - このコードは何かリークしていませんか、それともすべてが適切にクリーンアップされていますか?
これも動作するように見える別のバージョンです:
c++ - CDC から CBitmap に画像を転送する
CDC から CBitmap に画像を転送するにはどうすればよいですか? 全体的な問題: CBitmap A に大きな画像があります。これには多数の CDC を使用できないため、この画像の一部をいくつかの CBitmap に転送して、ベクトルに格納する必要があります:)準備された CDC をサイクルに変換し (CBitmap A の必要な部分を取得)、それを CBitmap x に転送する必要があります。どうすればいいですか?
これが私のコードです:
// OK - ソース画像を取得しました
// ここに黒い四角があります! - 前のコードに問題がある
// そしてそれ以降の CBitmaps は黒い四角形です
解決策を見つけました!
CBitmap の解析とベクターの初期化
描く:
bitmap - CBitmap を .bmp ファイルに保存する
を使用してCBitmap
オブジェクトを操作していCDC
ます。完成したら、ファイルに保存したいと思います。そのコードLINKを持つプロセスについて何かを見ました:
私の疑問は と についてBITMAPFILEHEADER
ですBITMAPINFOHEADER
。CBitmap
指定されたorでそれらを埋めるにはどうすればよいCDC
ですか?
image-processing - CMFCToolBar で PNG 画像をボタン画像として追加する方法は?
CMFCToolBar のように思えます BITMAP イメージ (色深度は 24 です) のみをボタンに配置できます。この制限を取り除く方法。PNG も、色深度 32 (アルファ チャネルを含む) のビット マップも配置できません。
CPngImage を CBitmap にアタッチしようとしましたが、うまくいきませんでした。
それで、最終的に私の疑問は、アルファチャンネルを持つPNG/ビットマップをイメージとしてCMFCToolBarボタンに追加できるか?
visual-c++ - c++ - mfc / cbutton にビットマップを追加したい。CButton にはメンバー setBitmap がなく、BM_SETIMAGE も sendMessage で使用できません
これは、stackoverflow に関する私の最初の質問です。すべてを正しく行うことを願っています:S
私のタイトルで説明されているように、私はmfcを使用してビジュアルスタジオ(2012)プロジェクトに取り組んでいます。デザイン ビューでダイアログに挿入されたビットマップを cbutton に追加しようとしました。
これについて私が読んだすべての投稿では、 setBitmap または sendMessage を使用してそうするように説明しています。私は常に、ダイアログの onInit() 関数でこれを実行しようとします。次のように setBitmap() を使用する (しようとする) 場合:
IntelliSense エラーが発生します。
IntelliSense: クラス "CButton" にはメンバー "setBitmap" がありません
別の試みは、sendMessage を使用することでした。
まず、別の IntelliSense エラーが発生しました。
IntelliSense: 識別子 "BM_SETIMAGE" は定義されていません
別の投稿で読んだように、「BM_SETIMAGE」を自分で定義しました:
これでコードはコンパイルできますが、ボタンにはまだビットマップが表示されません...インターネットのすべての投稿がこの2つのソリューションのいずれかを使用しているため、私は無力です. 誰が何が悪いのか考えていますか?そうでない場合は、読んでくれてありがとう:)
c++ - スクリーン キャプチャは黒い画像のみを返します
MFC アプリケーションのメイン ダイアログのスクリーン キャプチャを取得し、画像ファイルとして保存しようとしています。私はオンラインで見つけることができるすべての例を試してみましたが、常に同じ結果になりました. 私の最近の解決策は、CBitmap クラスを使用して、メイン ダイアログ ハンドルを CImage に転送することです。これが私のコードです:
visual-c++ - 初心者 MFC C++ では、デバイス コンテキストが古い Font/Bitmap/etc ポインターを作成し、最後に selectObject() する必要があるのはなぜですか?
適例:
このコードは、"Hello, MFC" を原点 (ウィンドウの中央に移動) の周りに円で表示します。
その CFont ポインターが作成され、dc がそれをフォントとして選択するのはなぜですか? それは単なる良いプログラミングの練習ですか、それともこのアプリは実際にそれを必要としていますか?
Bitmaps やその他のデバイス コンテキスト オブジェクトでこれを行う同様のコードを Web で見たことがあります。目的は何ですか?
コードの最後の行を削除しても、何も変わりません。助けてくれてありがとう。
c++ - MFC 画面の一部を CBitmap にコピー
機能の使用
OnEraseBkgnd(CDC* pDC)
CDialog 派生クラスで、画面いっぱいに表示される背景画像を記述します。
次に、OnPaint 内に、1 回だけ実行される次のコードがあります (初めて OnPaint が呼び出されます)。
上記のコードは、画面の m_InfoBarRect 部分をメモリ CBitmap にコピーします。
背景画像の一部を取得する代わりに、正しい寸法の空白の塗りつぶされた長方形のみを取得します。
私のコードに何か問題がありますか?