gettype.cpp

来自「这是VCF框架的代码」· C++ 代码 · 共 77 行

CPP
77
字号
// ==========================================================// GetType//// Design and implementation by// - Floris van den Berg (flvdberg@wxs.nl)//// This file is part of FreeImage 2//// COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES// THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE// OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED// CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT// THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY// SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL// PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER// THIS DISCLAIMER.//// Use at your own risk!// ==========================================================#include <stdio.h>#include <string.h>#include "thirdparty/common/FreeImage/Source/FreeImage.h"#include "thirdparty/common/FreeImage/Source/FreeImageIO.h"#include "thirdparty/common/FreeImage/Source/Plugin.h"// ----------------------------------------------------------FREE_IMAGE_FORMAT DLL_CALLCONVFreeImage_GetFileType(const char *filename, int size) {	FreeImageIO io;	SetDefaultIO(&io);		FILE *handle = fopen(filename, "rb");	if (handle != NULL) {		FREE_IMAGE_FORMAT format = FreeImage_GetFileTypeFromHandle(&io, (fi_handle)handle, size);		fclose(handle);		return format;	} else {		return FIF_UNKNOWN;	}}// ----------------------------------------------------------FREE_IMAGE_FORMAT DLL_CALLCONVFreeImage_GetFileTypeFromHandle(FreeImageIO *io, fi_handle handle, int size) {	if (handle != NULL) {		for (int i = FreeImage_GetFIFCount() - 1; i >= 0; --i) {			if (FreeImage_Validate((FREE_IMAGE_FORMAT)i, *io, handle)) {				return (FREE_IMAGE_FORMAT)i;			}		}	}	return FIF_UNKNOWN;}// ALIASES FOR BACKWARDS COMPATIBILITY ----------------------const char * DLL_CALLCONVFreeImage_GetFileTypeFromFormat(FREE_IMAGE_FORMAT fif) {	return FreeImage_GetFormatFromFIF(fif);}FREE_IMAGE_FORMAT DLL_CALLCONVFreeImage_GetFileTypeFromExt(const char *filename) {	return FreeImage_GetFIFFromFilename(filename);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?