トップページ > 記事閲覧
要望?)pngやjpgをメモリに読み込む等
名前:ギウ 日時: 2021/11/21 08:45

いつもお世話になっております。 pngやjpg画像を、VRAMではなく直接通常のメモリに展開する関数はあるでしょうか。    メモリ(読み込み済み画像ファイルの先頭アドレス)→メモリ(RGBAの配列)&画像サイズなどを取得 というのがあると嬉しいです。 -- やりたいことは、ユーザーさん自身がイベントスクリプトを作成し、それをゲームから再生できるようにするシステムです。 ReCreateGraphFromSoftImage等のメモリ転送を使っている為、png等を通常メモリで扱いたいです。
メンテ

Page: 1 |

Re: 要望?)pngやjpgをメモリに読み込む等 ( No.1 )
名前:ギウ 日時:2021/11/21 08:45

(最初の書き込み、少し修正しました)
メンテ
Re: 要望?)pngやjpgをメモリに読み込む等 ( No.2 )
名前:管理人 日時:2021/11/23 07:12

> pngやjpg画像を、VRAMではなく直接通常のメモリに展開する関数はあるでしょうか。 はい、LoadSoftImage で読み込まれた画像はVRAMではなく通常のメモリに読み込まれます // 画像ファイルを読み込みソフトウエアイメージハンドルを作成する // 戻り値 -1:エラー -1以外:イメージハンドル ) int LoadSoftImage( char *FileName ) ; > メモリ(読み込み済み画像ファイルの先頭アドレス)→メモリ(RGBAの配列)&画像サイズなどを取得 > というのがあると嬉しいです。 リファレンスに載っていませんが、GetImageAddressSoftImage という関数で画像データの 先頭アドレスを取得することが出来ます // ソフトウエアイメージハンドルの画像が格納されているメモリ領域の先頭アドレスを取得する void *GetImageAddressSoftImage( int SIHandle ) ; 画像のサイズは GetSoftImageSize で取得することができます // ソフトウエアイメージハンドルのサイズを取得する int GetSoftImageSize( int SIHandle, int *Width, int *Height ) ; よろしければお試しください m(_ _)m
メンテ
Re: 要望?)pngやjpgをメモリに読み込む等 ( No.3 )
名前:ギウ 日時:2021/11/23 11:28

ご回答ありがとうございます! なるほどです。ファイルからはその関数でいけますね。 あと、独自の圧縮ファイルからメモリにpng等をまるごとLOADし、それをRGBA配列に変換することもあるのですが、その場合は LoadARGB8ColorSoftImageToMem これを使うのが良いでしょうか。(念のため確認) LoadSoftImageToMem こっちだと256色のpngの時に面倒になる感じですね(?) 便利でありがたいです!
メンテ
Re: 要望?)pngやjpgをメモリに読み込む等 ( No.4 )
名前:管理人 日時:2021/11/24 21:37

> あと、独自の圧縮ファイルからメモリにpng等をまるごとLOADし、それをRGBA配列に変換することもあるのですが、その場合は >  > LoadARGB8ColorSoftImageToMem >  > これを使うのが良いでしょうか。(念のため確認) はい、その通りです ライブラリ内部で LoadSoftImage で画像を読み込み、読み込んだ画像が ARGB( バイト順では BGRA )ではなかったら ARGB に変換する、ということをしています
メンテ
Re: 要望?)pngやjpgをメモリに読み込む等 ( No.5 )
名前:ギウ(解決) 日時:2021/11/25 09:15

ありがとうございます! 了解です!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存