自分のセンスや笑いの好みに影響を受けた作品を教えて

タイトル通りのことを行おうと、libtiffなるTIFFのライブラリをWEBより落としてきてVC++6.0でプログラミングをしています。
TIFF画像をBITMAP画像にするべく以下のようにソースを記述しました。

HDIB CTiff::LoadTIFFinDIB(CString path)
{
TIFF *image;
unsigned long imageLength;
unsigned long imageWidth;
unsigned int BitsPerSample;
unsigned long LineSize;
unsigned int SamplePerPixel;
unsigned long RowsPerStrip;
int PhotometricInterpretation;
long nrow;
unsigned long row;
char *buf;
LPBITMAPINFOHEADER lpDIB;
HDIB hDIB;
char *lpBits;
HGLOBAL hStrip;
int i,l;
int Align;
CSize size;

char *p = new char[path.GetLength()+1];
strcpy(p, path);

image = TIFFOpen(p, "r");

delete [] p;

if(!image)
goto TiffOpenError;

・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・

ところが、TIFFOpenで絶対Access Violationのエラーで落ちてしまいます。
この原因がわかる方、ご教授ください。

ちなみにOSはWindows2000 Proです。

A 回答 (2件)

とりあえず、


TIFFOpenまでにやってることってCStringの中身をいじってるくらいしかないんで、pathの中身が入っているかどうかをデバッグしてみてくださいとかしかいえませんねぇ。


あとは、MFCを使わずに、できる限り簡単なソースにして再現するか。
http://www-6.ibm.com/jp/developerworks/linux/020 …

こんな感じにしてみて、TIFFOpenができるか確認してみてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
原因がわかりました、というか、別の方法で解決しました。
ありがとうございました。

お礼日時:2004/04/24 13:05

libtiffは使ったことがあるし、DLL化もしたことがありますけど、、、、TIFFOpenで落ちたことはないですねぇ。



ちなみに、
image = TIFFOpen("test.tif", "r");
と実在ファイルtest.tifをpの代わりに直接指定しても落ちますか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
原因がわかりました、というか、別の方法で解決しました。
ありがとうございました。

お礼日時:2004/04/24 13:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報