
CreateDIBitmap関数でfdwInit引数をCBM_INITにすると初期化し、0にすると初期化しないとありますが、これの意味がイマイチよくわかりません。
で、初期化しなかった場合、後でSetDIBits関数で初期化しるというようなことが書かれているのですが。
用は、初期化していない状態とは、ビットマップの大きさもろもろの情報のみがわかっている状態で、色情報のみ不明な状態であり、初期化するとはそれに加え色情報まで追加するということ、という考えであっていますか?
で、今の自分の考えが正しいことを前提にしての質問ですが、初期化してある状態としていない状態で、使用するメモリの量が大量に違うとか、CreateDIBitmapで初期化する作業は初期化しない作業に比べて計算時間がかなり違ってくるとかいうような大きな違いがあるのでしょうか。
それとも別になにかあるんですか?
No.2ベストアンサー
- 回答日時:
>初期化するとはそれに加え色情報まで追加するということ、という考えであっていますか?
それであっています。
初期化してもしなくてもDDBは作成します。この時点で新たに確保されるメモリは同じです。
DDBをDIBで初期化するという意味はわかりますか?
ディスプレイが16ビットカラーだとすると、DDBも16ビットカラーになります。DIBは8/16/24ビットなど何でもいいわけだから、結果としてフォーマットが変換されます。
SetDIBitsも含めて計算時間がかかるかどうかは重要ではありません。必要あれば呼び出すしかなくて、必要なければ呼び出さないだけの事です。
※MSDNによれば「fdwInit パラメータの CBM_CREATDIB フラグは、現在はもうサポートされていません。」とありますね・・・。
なるほど。
おかげでまた少し理解できました。
ところでCBM_CREATDIBがなんであるのかは知りませんが、もう必要のない知識ならば知る必要は無さそうですね。
No.1
- 回答日時:
初期化の有無は、単に「固定の色(やパターン)で埋めるか、埋めないか」だけの違いです。
例えば、画像ファイルからHBITMAPに画像をロードして何かの処理を行う場合、中身の画像はファイルから読み込むので、初期化の必要はありません。キャンパスが広いと初期化処理に時間がかかり、無駄に時間を食う事になります。
例えば、キャンパスの上にマウスを使ってフリーハンドで何かを描かせる場合、初期の画像は「真っ白」とか「真っ黒」とかになっていないとお絵描き出来ません。つまり、初期化が必要です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Windows11 を初期状態に戻す方法について。 2 2022/11/21 20:09
- Windows 10 Windowsの初期化ができません。PCをリセットする時にエラーが発生しましたと出ます。 2 2022/04/03 16:25
- ノートパソコン 初期化する方法を教えて欲しい。 2 2023/01/06 14:49
- Android スマホを売ろうと思うのですが 初期化すれば安全ですか? 復元できる? 3 2022/11/04 22:34
- 物理学 量子力学とバタフライ効果について。 3 2023/03/15 18:16
- ノートパソコン タブレット(dynapadN72)を知人に譲る時、どうしたら・・・ 4 2023/06/23 15:31
- iPhone(アイフォーン) iphoneの初期化確認 3 2023/02/06 09:09
- iPhone(アイフォーン) iPhone初期化について質問です。 クイックスタートで新しいiPhoneに移行した後、 旧いiPh 1 2022/10/24 10:56
- 血液・筋骨格の病気 関節リウマチの初期症状について質問です。 どのサイトを調べても、 ・朝の手のこわばりがある ・関節が 6 2022/10/23 10:49
- 婚活 マッチングアプリについて 1 2023/05/18 06:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DLLファイルの逆コンパイラにつ...
-
プログラマー達は何故、プログ...
-
C#でTreeViewのCheckBoxのサイ...
-
最初に聞かれたこと
-
visual studio 2022でのC#プロ...
-
【C言語】全角文字の配列を、全...
-
VisualStudio2022でC言語プログ...
-
C++でデスクトップGUIアプリ開...
-
大量のデータを読み込んで表示...
-
プログラム言語について c言語...
-
C#でログファイルにファイルパ...
-
c言語
-
C言語 1から20までの逆数の和を...
-
C言語の関数のextern宣言
-
あってる
-
UART通信の取説で,left floati...
-
逆コンパイルと逆アセンブルの...
-
右ビットシフト
-
C言語 バッファについて。
-
データの外挿について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
生年月日(yyyy/MM/dd) → 年齢...
-
C++/CLIで画像処理
-
色混ぜのアルゴリズム
-
直線と線分の交差判定について...
-
解像度と誤差について
-
ノイズ処理の原理
-
画像をFFTした際のスペクトル分...
-
OpenCVで寸法測定
-
姿勢センサでプロジェクタの台...
-
アフィン変換後の画像に線が入...
-
行列の積の処理を高速化したい
-
リアルタイムで多数の3角形ポリ...
-
魚眼画像について
-
2枚の画像間の色ヒストグラム距...
-
OpenCVで、画像の平均階調値よ...
-
画像の拡大
-
点字認識システムを作成したい...
-
自動で仮説を立てるような学習...
-
C言語の作成依頼です。
-
Canny法に用いる閾値の決定法に...
おすすめ情報