LoadSoftImage

CPUで扱うイメージの読み込み

val = LoadSoftImage(FileName)

char *FileName : 読み込むファイルのパス

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

解説

たまに LoadGraph で読み込んだ画像をドット単位でアクセスしたい、ということがあると思います。

画像をマップデータの代わりに使うとか、格闘ゲームでパレットだけいじって2Pキャラ用にしたい、など。

ですが LoadGraph で読み込まれた画像は描画に適した形式に変換され、読み込みアクセスが低速なVRAMへと転送されているので内容を参照したりいじったりということに向いていません。

また、オリジナルの画像データ形式で画像を管理したい、ということもあるとおもいます。

ですがDXライブラリで読み込むには LoadGraph で対応している画像形式にする必要がある・・・なんとかならないかぁと・・・

そこで登場するのが LoadSoftImageLoadGraph 感覚で読み込んで作成するソフトウエアイメージハンドルです。

この関数で読み込まれた画像はグラフィックハンドルの様に DrawGraphDrawRotaGraph 等の描画関数を使って描画することはできませんが、
代わりに画像内容を参照したり書き換えたりする機能と、編集したソフトウエアイメージハンドルからグラフィックハンドルを作成する機能を備えています。

なので、主に画像を描画目的以外で使用したいとき、パレットだけいじってグラフィックハンドルを作成したいとき、
独自の画像形式のデータをDXライブラリで使用したいときなどに有効です。

具体的な使い方としては LoadSoftImage 関数でソフトウェアイメージハンドルを作成し、GetPixelSoftImage 関数でドットの色を取得したり、
DrawPixelSoftImage 関数でドットを書き込んだりします。

LoadSoftImage で読み込んだ画像がパレット画像の場合は GetPaletteSoftImage 関数でパレットを参照したり、SetPaletteSoftImage 関数でパレットを変更したりすることも可能です。

その後、編集した画像をグラフィックハンドルにしたい場合は CreateGraphFromSoftImage 関数や CreateDivGraphFromSoftImage 関数でグラフィックハンドルにする、という感じです。

なお、ソフトウエアイメージハンドルは LoadGraph で読み込むグラフィックハンドルと異なり DxLib_End
を実行しても自動的に解放されることはありませんので、使用後は必ず DeleteSoftImage 関数でハンドルを削除するようにしてください。

戻り値:
  -1:エラー

情報

プラグイン / モジュール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