SDL_image APIを使用すると、FILE *を渡して、SDL_Surface*を取得できます。
現在、地図アーカイブをデザインしています。ファイルの1つはタイルセットです。PNG画像になります(可逆圧縮の優れた形式)。
ファイルからすべてのバイトを読み取り、それらをバッファー(バイト配列)に入れています。
バイト配列からFILE*を作成するにはどうすればよいですか?プライベートを意図したFILE構造内の何かを変更する必要があるかどうかは気にしません。これが私の最初のアプローチでしたが、構造体のメンバーのカップルが何のためにあるのかを理解するのに苦労していました。(私は_iobuf構造体を参照しています)
編集
私がzlibを使用していることを理解する必要があります。つまり、アーカイブ内の非圧縮ファイルから読み取るときは、関数unzReadCurrentFileを使用しています。zlibの使用中にFILE*を直接取得する方法があるかどうかはわかりません。