SetCreateGraphColorBitDepth

作成するグラフィックのビット深度を設定する

SetCreateGraphColorBitDepth BitDepth

int BitDepth : ビット深度( 16 又は 32 )

(プラグイン / モジュール : DxLibW)

解説

関数 LoadGraphMakeScreen などの関数で作成するグラフィックハンドルが持つ画像の1ピクセル辺りのビット数を設定する関数です。

ビット数が多いほど色の階調が増えて綺麗になりますが、その分VRAMを多く消費します。

例えば縦横256ピクセルの画像を読み込んだ場合、色ビット数が32の場合に消費するVRAMの容量は

256×256×32=2097152


2097152ビットになります。(単位をバイトにすると1バイトは8ビットなので、2097152 / 8 = 262144バイト、
単位をキロバイトにすると1キロバイトは1024バイトなので、262144 / 1024 = 256キロバイト)

色ビット数を16にすると、画質が悪くなる代わりに丁度半分の1048576ビット(128キロバイト)に抑えることができます。

使い方は LoadGraphLoadDivGraphMakeScreen などの画像を作成する関数を呼ぶ前に SetCreateGraphColorBitDepth でビット数を設定すると、
その後に作成されるグラフィックハンドルにその値が適用されます。

作成した後のグラフィックハンドルのビット数を変更することはできません。

<例>

// ビット深度32の設定で Test1.bmp を読み込む

SetCreateGraphColorBitDepth( 32 ) ;

GraphHandle = LoadGraph( "Test1.bmp" ) ;

// ビット深度16の設定で縦横512ピクセルの描画可能画像を作成する

SetCreateGraphColorBitDepth( 16 ) ;

ScreenHandle = MakeScreen( 512, 512 ) ;

<浮動小数点型画像の場合>

SetDrawValidFloatTypeGraphCreateFlag で浮動小数点型の画像を持つグラフィックハンドルを作成するように設定している場合は
SetCreateGraphColorBitDepth で設定する値は「1ピクセル辺りのビット数」ではなく「1ピクセル内の1チャンネル辺りのビット数」になります。

つまり設定が16の時にRGBAの4チャンネルを持った画像を作成すると1ピクセル辺りのサイズは16×4=64ビットになります。

戻り値:
  0:成功

関連項目

GetCreateGraphColorBitDepth作成するグラフィックハンドルの色深度を取得する(DxLibW)

情報

プラグイン / モジュールDxLibW
バージョン3.24f
作成日2026/04/12
著作者DxLib: Takumi Yamada / HSP binding: IronHSP Project
URLhttps://dxlib.xsrv.jp/
備考hspdxlib.as をインクルードして使用
タイプDxLib ゲームライブラリ
グループDxLib ウィンドウ
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspdxlib.hs