⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ximaenc.cpp

📁 It s a tool designed to extract as much information as possible from Bluetooth devices without the r
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//bool CxImage::Load(LPCWSTR filename, DWORD imagetype)//{//	/*FILE* hFile;	//file handle to read the image//	if ((hFile=_wfopen(filename, L"rb"))==NULL)  return false;//	bool bOK = Decode(hFile,imagetype);//	fclose(hFile);*/////	/* automatic file type recognition *///	bool bOK = false;//	if ( imagetype > 0 && imagetype < CMAX_IMAGE_FORMATS ){//		FILE* hFile;	//file handle to read the image//		if ((hFile=_wfopen(filename,L"rb"))==NULL)  return false;//		bOK = Decode(hFile,imagetype);//		fclose(hFile);//		if (bOK) return bOK;//	}////	char szError[256];//	strcpy(szError,info.szLastError); //save the first error////	// if failed, try automatic recognition of the file...//	FILE* hFile;	//file handle to read the image//	if ((hFile=_wfopen(filename,L"rb"))==NULL)  return false;//	bOK = Decode(hFile,CXIMAGE_FORMAT_UNKNOWN);//	fclose(hFile);////	if (!bOK && imagetype > 0) strcpy(info.szLastError,szError); //restore the first error////	return bOK;//}/////////////////////////////////////////////////////////////////////////////////** * Loads an image from the application resources. * \param hRes: the resource handle returned by FindResource(). * \param imagetype: file format, see ENUM_CXIMAGE_FORMATS. * \param hModule: NULL for internal resource, or external application/DLL hinstance returned by LoadLibray. * \return true if everything is ok */bool CxImage::LoadResource(HRSRC hRes, DWORD imagetype, HMODULE hModule){	DWORD rsize=SizeofResource(hModule,hRes);	HGLOBAL hMem=::LoadResource(hModule,hRes);	if (hMem){		char* lpVoid=(char*)LockResource(hMem);		if (lpVoid){			// FILE* fTmp=tmpfile(); doesn't work with network			/*char tmpPath[MAX_PATH] = {0};			char tmpFile[MAX_PATH] = {0};			GetTempPath(MAX_PATH,tmpPath);			GetTempFileName(tmpPath,"IMG",0,tmpFile);			FILE* fTmp=fopen(tmpFile,"w+b");			if (fTmp){				fwrite(lpVoid,rsize,1,fTmp);				fseek(fTmp,0,SEEK_SET);				bool bOK = Decode(fTmp,imagetype);				fclose(fTmp);				DeleteFile(tmpFile);				return bOK;			}*/			CxMemFile fTmp((BYTE*)lpVoid,rsize);			return Decode(&fTmp,imagetype);		}	} else strcpy(info.szLastError,"Unable to load resource!");	return false;}#endif //WIN32/////////////////////////////////////////////////////////////////////////////////** * Constructor from file name, see Load() * \param filename: file name * \param imagetype: file format, see ENUM_CXIMAGE_FORMATS */// // > filename: file name// > imagetype: specify the image format (CXIMAGE_FORMAT_BMP,...)// For UNICODE support: char -> TCHARCxImage::CxImage(const TCHAR * filename, DWORD imagetype)//CxImage::CxImage(const char * filename, DWORD imagetype){	Startup(imagetype);	Load(filename,imagetype);}/////////////////////////////////////////////////////////////////////////////////** * Constructor from file handle, see Decode() * \param stream: file handle, with read access. * \param imagetype: file format, see ENUM_CXIMAGE_FORMATS */CxImage::CxImage(FILE * stream, DWORD imagetype){	Startup(imagetype);	Decode(stream,imagetype);}/////////////////////////////////////////////////////////////////////////////////** * Constructor from CxFile object, see Decode() * \param stream: file handle (implemented using CxMemFile or CxIOFile), with read access. * \param imagetype: file format, see ENUM_CXIMAGE_FORMATS */CxImage::CxImage(CxFile * stream, DWORD imagetype){	Startup(imagetype);	Decode(stream,imagetype);}/////////////////////////////////////////////////////////////////////////////////** * Constructor from memory buffer, see Decode() * \param buffer: memory buffer * \param size: size of buffer * \param imagetype: file format, see ENUM_CXIMAGE_FORMATS */CxImage::CxImage(BYTE * buffer, DWORD size, DWORD imagetype){	Startup(imagetype);	CxMemFile stream(buffer,size);	Decode(&stream,imagetype);}/////////////////////////////////////////////////////////////////////////////////** * Loads an image from memory buffer * \param buffer: memory buffer * \param size: size of buffer * \param imagetype: file format, see ENUM_CXIMAGE_FORMATS * \return true if everything is ok */bool CxImage::Decode(BYTE * buffer, DWORD size, DWORD imagetype){	CxMemFile file(buffer,size);	return Decode(&file,imagetype);}/////////////////////////////////////////////////////////////////////////////////** * Loads an image from file handle. * \param hFile: file handle, with read access. * \param imagetype: file format, see ENUM_CXIMAGE_FORMATS * \return true if everything is ok */bool CxImage::Decode(FILE *hFile, DWORD imagetype){	CxIOFile file(hFile);	return Decode(&file,imagetype);}/////////////////////////////////////////////////////////////////////////////////** * Loads an image from CxFile object * \param hFile: file handle (implemented using CxMemFile or CxIOFile), with read access. * \param imagetype: file format, see ENUM_CXIMAGE_FORMATS * \return true if everything is ok * \sa ENUM_CXIMAGE_FORMATS */bool CxImage::Decode(CxFile *hFile, DWORD imagetype){	if (imagetype==CXIMAGE_FORMAT_UNKNOWN){		DWORD pos = hFile->Tell();#if CXIMAGE_SUPPORT_BMP		{ CxImageBMP newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_JPG		{ CxImageJPG newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_ICO		{ CxImageICO newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_GIF		{ CxImageGIF newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_PNG		{ CxImagePNG newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_TIF		{ CxImageTIF newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_MNG		{ CxImageMNG newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_TGA		{ CxImageTGA newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_PCX		{ CxImagePCX newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_WBMP		{ CxImageWBMP newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_WMF && CXIMAGE_SUPPORT_WINDOWS		{ CxImageWMF newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_J2K		{ CxImageJ2K newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_JBG		{ CxImageJBG newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif#if CXIMAGE_SUPPORT_JASPER		{ CxImageJAS newima; newima.CopyInfo(*this); if (newima.Decode(hFile)) { Transfer(newima); return true; } else hFile->Seek(pos,SEEK_SET); }#endif	}#if CXIMAGE_SUPPORT_BMP	if (imagetype==CXIMAGE_FORMAT_BMP){		CxImageBMP newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_JPG	if (imagetype==CXIMAGE_FORMAT_JPG){		CxImageJPG newima;		newima.CopyInfo(*this); // <ignacio>		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_ICO	if (imagetype==CXIMAGE_FORMAT_ICO){		CxImageICO newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			info.nNumFrames = newima.info.nNumFrames;			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_GIF	if (imagetype==CXIMAGE_FORMAT_GIF){		CxImageGIF newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			info.nNumFrames = newima.info.nNumFrames;			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_PNG	if (imagetype==CXIMAGE_FORMAT_PNG){		CxImagePNG newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_TIF	if (imagetype==CXIMAGE_FORMAT_TIF){		CxImageTIF newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			info.nNumFrames = newima.info.nNumFrames;			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_MNG	if (imagetype==CXIMAGE_FORMAT_MNG){		CxImageMNG newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			info.nNumFrames = newima.info.nNumFrames;			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_TGA	if (imagetype==CXIMAGE_FORMAT_TGA){		CxImageTGA newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_PCX	if (imagetype==CXIMAGE_FORMAT_PCX){		CxImagePCX newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_WBMP	if (imagetype==CXIMAGE_FORMAT_WBMP){		CxImageWBMP newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_WMF && CXIMAGE_SUPPORT_WINDOWS // vho - WMF support	if (imagetype == CXIMAGE_FORMAT_WMF){		CxImageWMF newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_J2K	if (imagetype==CXIMAGE_FORMAT_J2K){		CxImageJ2K newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_JBG	if (imagetype==CXIMAGE_FORMAT_JBG){		CxImageJBG newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif#if CXIMAGE_SUPPORT_JASPER	if ( #if	CXIMAGE_SUPPORT_JP2		imagetype==CXIMAGE_FORMAT_JP2 ||  #endif #if	CXIMAGE_SUPPORT_JPC		imagetype==CXIMAGE_FORMAT_JPC ||  #endif #if	CXIMAGE_SUPPORT_PGX		imagetype==CXIMAGE_FORMAT_PGX ||  #endif #if	CXIMAGE_SUPPORT_PNM		imagetype==CXIMAGE_FORMAT_PNM ||  #endif #if	CXIMAGE_SUPPORT_RAS		imagetype==CXIMAGE_FORMAT_RAS ||  #endif		 false ){		CxImageJAS newima;		newima.CopyInfo(*this);		if (newima.Decode(hFile,imagetype)){			Transfer(newima);			return true;		} else {			strcpy(info.szLastError,newima.GetLastError());			return false;		}	}#endif	strcpy(info.szLastError,"Decode: Unknown or wrong format");	return false;}/////////////////////////////////////////////////////////////////////////////////** * Loads an image from CxFile object * \param hFile: file handle (implemented using CxMemFile or CxIOFile), with read access. * \param imagetype: file format, see ENUM_CXIMAGE_FORMATS * \return true if everything is ok * \sa ENUM_CXIMAGE_FORMATS */bool CxImage::CheckFormat(BYTE * buffer, DWORD size, basic_image_information *basic_info){	create_basic_image_information(CXIMAGE_FORMAT_UNKNOWN,0,0,basic_info);#if CXIMAGE_SUPPORT_BMP	{	if (CxImageBMP::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif#if CXIMAGE_SUPPORT_JPG	{	if (CxImageJPG::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif/*#if CXIMAGE_SUPPORT_ICO	{	if (CxImageICO::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif*/#if CXIMAGE_SUPPORT_GIF	{	if (CxImageGIF::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif#if CXIMAGE_SUPPORT_PNG	{	if (CxImagePNG::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif/*#if CXIMAGE_SUPPORT_TIF	{	if (CxImageTIF::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif*//*#if CXIMAGE_SUPPORT_MNG	{	if (CxImageMNG::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif*/#if CXIMAGE_SUPPORT_TGA	{	if (CxImageTGA::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif/*#if CXIMAGE_SUPPORT_PCX	{	if (CxImagePCX::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif*//*#if CXIMAGE_SUPPORT_WBMP	{	if (CxImageWBMP::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif*//*#if CXIMAGE_SUPPORT_WMF && CXIMAGE_SUPPORT_WINDOWS	{	if (CxImageWMF::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif*//*#if CXIMAGE_SUPPORT_J2K	{	if (CxImageJ2K::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif*//*#if CXIMAGE_SUPPORT_JBG	{	if (CxImageJBG::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif*//*#if CXIMAGE_SUPPORT_JASPER	{	if (CxImageJasper::CheckFormat(buffer,size,basic_info)) 		return true;	}#endif*/	return false;}////////////////////////////////////////////////////////////////////////////////#endif //CXIMAGE_SUPPORT_DECODE////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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