FreeImage Documentation

FreeImage Documentation -Contents Previous Next Up

Filetype functions

Subsections


FreeImage_GetFileType

FREE_IMAGE_FORMAT FreeImage_GetFileType(const char *filename, int size);

Investigates the given bitmap and returns the type of it using an abstract i/o structure and a fi_handle.


FREE_IMAGE_FORMAT format;
format = FreeImage_GetFileType("test.bmp", 16);

FreeImage_GetFileTypeFromHandle

FREE_IMAGE_FORMAT FreeImage_GetFileTypeFromHandle(FreeImageIO *io, fi_handle handle, int size);

Investigates the given bitmap and returns the type of it. FreeImage_GetFileType can return the following values:

Type

Bitmap

FIF_BMP

Windows/OS/2 Bitmap

FIF_ICO

Windows Icon

FIF_JPEG

JPEG/JIF

FIF_KOALA

C64 KOALA

FIF_PBM

Portable Bitmap

FIF_PCD

Kodak PhotoCD

FIF_PCX

PCX

FIF_PGM

Portable Greymap

FIF_PNG

Portable Network Graphics

FIF_PPM

Portable Pixmap

FIF_RAS

Sun Rasterfile

FIF_TARGA

Targa

FIF_TIFF

TIFF


unsigned
_ReadProc(void *buffer, unsigned s, unsigned c, fi_handle handle) {
return fread(buffer, s, c, (FILE *)handle);
}

unsigned
_WriteProc(void *buffer, unsigned s, unsigned c, fi_handle handle){
return fwrite(buffer, s, c, (FILE *)handle);
}

int
_SeekProc(fi_handle handle, long offset, int origin) {
return fseek((FILE *)handle, offset, origin);
}

long
_TellProc(fi_handle handle) {
return ftell((FILE *)handle);
}

FreeImageIO io;
io.read_proc = _ReadProc;
io.write_proc = _WriteProc;
io.seek_proc = _SeekProc;
io.tell_proc = _TellProc;

FILE *file = fopen("test.bmp", "rb");


FREE_IMAGE_TYPE type;
type = FreeImage_GetFileTypeFromHandle(&io, (fi_handle)file, 16);

FreeImage_GetFileTypeFromExt

FREE_IMAGE_FORMAT FreeImage_GetFileTypeFromExt(const char *ext);

Investigates the given file extension and returns the corresponding format. For example "bmp" would return FIF_BMP.


FREE_IMAGE_FORMAT format;
format = FreeImage_GetFileTypeFromExt("bmp");


Copyright 2000 Floris van den Berg (freeimage@wxs.nl)