VC++6.0 Windows2000で開発しています。
複数のtga画像を結合して一つのファイルにしたいのですが、
画像結合の仕組みが良く分かりません。
tgaの画像データが格納されている構造体を、結合したいtga画像分配列を用意して、
その構造体の中身をdatファイル等に保存していき、展開するときは構造体一つ分のサイ
ズを取得してきてtgaの構造体に格納していけば宜しいのでしょうか?
画像結合に詳しい方がいらしたら返答をお願い致します。
画像結合って書いてあるけど、説明を見る限りただのファイル結合だよね?
#include <stdio.h>
int main( void )
{
FILE *fin, *fout;
const char* read_path[] = { 1.tga, 2.tga, 3.tga }; // 読み込みファ
イルのパス
const char* write_path = comp.dat; // 書き込みファイルのパス
char* buf;
unsigned long size;
int i;
fout = fopen( write_path, wb );
for( i = 0 ; i < 3 ; i++ ) {
fin = fopen( read_path[i], rb );
// ファイルサイズを取得
fseek( fin, 0, SEEK_END );
size = ftell( fin );
fseek( fin, 0, SEEK_SET );
// ファイル読み込み
buf = new char[size];
fread( buf, sizeof(char), size, fin );
// ファイル書き込み
fwrite( &size, sizeof(size), 1, fout );
fwrite( buf, sizeof(char), size, fout );
delete[] buf;
fclose( fin );
}
fclose( fout );
}
エラーチェックを省略しているが、やりたいことは上記のことかな?
気分屋さん、返答ありがとうございました。
教えてくださったサンプルでファイルの結合ができました。
あとは作成されたdatファイルから元のtga画像になるように展開するだけですので頑張
ってみようと思います。
本当にありがとうございました。