ShowMetadata.cpp ( File view )

Description:
  • By ccaccbccc 2013-12-22
  • View(s):146
  • Download(s):4
  • Point(s): 2
			// ==========================================================
// Simple metadata reader
//
// Design and implementation by 
// - Herv Drolon
//
// This file is part of FreeImage 3
//
// 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 own risk!
// ==========================================================

//
//  This example shows how to easily parse all metadata 
//  contained in a JPEG, TIFF or PNG image. 
//  Comments, Exif and IPTC/NAA metadata tags are written to a HTML file 
//  for later reading, and Adobe XMP XML packets are written 
//  in a file whose extension is '.xmp'. This file can be later 
//  processed using a XML parser. 
//
//  Metadata functions showed in this sample : 
//  FreeImage_GetMetadataCount, FreeImage_FindFirstMetadata, FreeImage_FindNextMetadata, 
//  FreeImage_FindCloseMetadata, FreeImage_TagToString, FreeImage_GetMetadata
//
// ==========================================================

#include 
#include 
#include 

using namespace std;

#include "FreeImage.h"

// ----------------------------------------------------------

/** Generic image loader
	@param lpszPathName Pointer to the full file name
	@param flag Optional load flag constant
	@return Returns the loaded dib if successful, returns NULL otherwise
*/
FIBITMAP* GenericLoader(const char* lpszPathName, int flag) {

	FREE_IMAGE_FORMAT fif = FIF_UNKNOWN;

	// check the file signature and deduce its format
	// (the second argument is currently not used by FreeImage)
	fif = FreeImage_GetFileType(lpszPathName, 0);
	if(fif == FIF_UNKNOWN) {

		// no signature ?
		// try to guess the file format from the file extension
		fif = FreeImage_GetFIFFromFilename(lpszPathName);
	
}
	// check that the plugin has reading capabilities ...
	if((fif != FIF_UNKNOWN) && FreeImage_FIFSupportsReading(fif)) {

		// ok, let's load the file
		FIBITMAP *dib = FreeImage_Load(fif, lpszPathName, flag);
		// unless a bad file format, we are done !
		return dib;
	
}
	return NULL;

}

/** Generic image writer
	@param dib Pointer to the dib to be saved
	@param lpszPathName Pointer to the full file name
	@param flag Optional save flag constant
	@return Returns true if successful, returns false otherwise
*/
bool GenericWriter(FIBITMAP* dib, const char* lpszPathName, int flag) {

	FREE_IMAGE_FORMAT fif = FIF_UNKNOWN;
	BOOL bSuccess = FALSE;

	if(dib) {

		// try to guess the file format from the file extension
		fif = FreeImage_GetFIFFromFilename(lpszPathName);
		if(fif != FIF_UNKNOWN ) {

			// check that the plugin has sufficient writing and export capabilities ...
			WORD bpp = FreeImage_GetBPP(dib);
			if(FreeImage_FIFSupportsWriting(fif) && FreeImage_FIFSupportsExportBPP(fif, bpp)) {

				// ok, we can save the file
				bSuccess = FreeImage_Save(fif, dib, lpszPathName, flag);
				// unless an abnormal bug, we are done !
			
}
		
}
	
}
	return (bSuccess == TRUE) ? true : false;

}

// ----------------------------------------------------------

/**
	FreeImage error handler
	@param fif Format / Plugin responsible for the error 
	@param message Error message
*/
void FreeImageErrorHandler(FREE_IMAGE_FORMAT fif, const char *message) {

	cout << "\n*** ";
	if(fif != FIF_UNKNOWN) {

		cout << FreeImage_GetFormatFromFIF(fif) << " Format\n";
	
}
	cout << message;
	cout << " ***\n";

}

// ----------------------------------------------------------

/**
Print a basic HTML header
*/
void PrintHTMLHeader(iostream& ios) {

	ios << "\n\n
\n"; ios << "\n"; } /** Print a HTML footer */ void PrintHTMLFooter(iostream& ios) { ios << "
\n\n\n\n"; } /** Print a table header */ void PrintTableHeader(iostream& ios, const char *title) { ios << "\n"; ios << "\n"; } /** Print a table section */ void PrintTableSection(iostream& ios, const char *title) { ios << "\n"; ios << ""; } /** Print a table footer */ void PrintTableFooter(iostream& ios) { ios << "
" << title << "
" << title << "
Tag nameTag valueDescription
\n"; } /** Print the metadata tags to a HTML file */ void PrintMetadata(iostream& ios, const char *sectionTitle, FIBITMAP *dib, FREE_IMAGE_MDMODEL model) { FITAG *tag = NULL; FIMETADATA *mdhandle = NULL; mdhandle = FreeImage_FindFirstMetadata(model, dib, &tag); if(mdhandle) { // Print a table section PrintTableSection(ios, sectionTitle); do { // convert the tag value to a string const char *value = FreeImage_TagToString(model, tag); // print the tag // note that most tags do not have a description, // especially when the metadata specifications are not available if(FreeImage_GetTagDescription(tag)) { ios << "" << FreeImage_GetTagKey(tag) << "" << value << "" << FreeImage_GetTagDescription(tag) << "\n"; } else { ios << "" << FreeImage_GetTagKey(tag) << "" << value << "" << " " << "\n"; } } while(FreeImage_FindNextMetadata(mdhandle, &tag)); } FreeImage_FindCloseMetadata(mdhandle); } int main(int argc, char *argv[]) { unsigned count; // call this ONLY when linking with FreeImage as a static library #ifdef FREEIMAGE_LIB FreeImage_Initialise(); #endif // FREEIMAGE_LIB // initialize your own FreeImage error handler FreeImage_SetOutputMessage(FreeImageErrorHandler); // print version & copyright infos cout << "FreeImage " << FreeImage_GetVersion() << "\n"; cout << FreeImage_GetCopyrightMessage() << "\n\n"; if(argc != 2) { cout << "Usage : ShowMetadata \n"; return 0; } // Load the bitmap FIBITMAP *dib = GenericLoader(argv[1], 0); if(!dib) return 0; // Create a HTML file std::string html_file(strtok(argv[1], ".") + std::string(".html")); fstream metadataFile(html_file.c_str(), ios::out); // Print the header PrintHTMLHeader(metadataFile); PrintTableHeader(metadataFile, argv[1]); // Parse and print metadata if(count = FreeImage_GetMetadataCount(FIMD_COMMENTS, dib)) { cout << "\nFIMD_COMMENTS (" << count << " data)\n-----------------------------------------\n"; PrintMetadata(metadataFile, "Comments", dib, FIMD_COMMENTS); } if(count = FreeImage_GetMetadataCount(FIMD_EXIF_MAIN, dib)) { cout << "\nFIMD_EXIF_MAIN (" << count << " data)\n-----------------------------------------\n"; PrintMetadata(metadataFile, "Exif - main info", dib, FIMD_EXIF_MAIN); } if(count = FreeImage_GetMetadataCount(FIMD_EXIF_EXIF, dib)) { cout << "\nFIMD_EXIF_EXIF (" << count << " data)\n-----------------------------------------\n"; PrintMetadata(metadataFile, "Exif - advanced info", dib, FIMD_EXIF_EXIF); } if(count = FreeImage_GetMetadataCount(FIMD_EXIF_GPS, dib)) { cout << "\nFIMD_EXIF_GPS (" << count << " data)\n-----------------------------------------\n"; PrintMetadata(metadataFile, "Exif GPS", dib, FIMD_EXIF_GPS); } if(count = FreeImage_GetMetadataCount(FIMD_EXIF_INTEROP, dib)) { cout << "\nFIMD_EXIF_INTEROP (" << count << " data)\n-----------------------------------------\n"; PrintMetadata(metadataFile, "Exif interoperability", dib, FIMD_EXIF_INTEROP); } if(count = FreeImage_GetMetadataCount(FIMD_EXIF_MAKERNOTE, dib)) { cout << "\nFIMD_EXIF_MAKERNOTE (" << count << " data)\n-----------------------------------------\n"; // Get the camera model FITAG *tagMake = NULL; FreeImage_GetMetadata(FIMD_EXIF_MAIN, dib, "Make", &tagMake); std::string buffer((char*)FreeImage_GetTagValue(tagMake)); buffer += " Makernote"; PrintMetadata(metadataFile, buffer.c_str(), dib, FIMD_EXIF_MAKERNOTE); } if(count = FreeImage_GetMetadataCount(FIMD_IPTC, dib)) { cout << "\nFIMD_IPTC (" << count << " data)\n-----------------------------------------\n"; PrintMetadata(metadataFile, "IPTC/NAA", dib, FIMD_IPTC); } if(count = FreeImage_GetMetadataCount(FIMD_GEOTIFF, dib)) { cout << "\nFIMD_GEOTIFF (" << count << " data)\n-----------------------------------------\n"; PrintMetadata(metadataFile, "GEOTIFF", dib, FIMD_GEOTIFF); } // Print the footer PrintTableFooter(metadataFile); PrintHTMLFooter(metadataFile); // close the HTML file metadataFile.close(); // print XMP data if(count = FreeImage_GetMetadataCount(FIMD_XMP, dib)) { cout << "\nFIMD_XMP (" << count << " packet)\n-----------------------------------------\n"; std::string xmp_file(strtok(argv[1], ".") + std::string(".xmp")); metadataFile.open(xmp_file.c_str(), ios::out); FITAG *tag = NULL; FreeImage_GetMetadata(FIMD_XMP, dib, "XMLPacket", &tag); if(tag) { metadataFile << (char*)FreeImage_GetTagValue(tag); } metadataFile.close(); } // Unload the bitmap FreeImage_Unload(dib); // call this ONLY when linking with FreeImage as a static library #ifdef FREEIMAGE_LIB FreeImage_DeInitialise(); #endif // FREEIMAGE_LIB return 0; }
...
Expand> <Close

Want complete source code? Download it here

Point(s): 2

Download
0 lines left, continue to read
Sponsored links

File list

Tips: You can preview the content of files by clicking file names^_^
Name Size Date
01.96 kB
01.96 kB
<delete.me>0.00 B2004-05-01 21:05
FreeImage.dll2.66 MB2012-10-27 18:05
FreeImage.h53.44 kB2012-09-23 21:16
FreeImage.lib62.97 kB2012-10-27 18:05
01.96 kB
01.96 kB
BatchLoad.cpp6.35 kB2007-01-18 00:30
CloneMultiPage.cpp3.33 kB2004-08-31 11:56
CreateAlpha.cpp5.52 kB2007-01-18 00:30
FIFImportExport.cpp4.90 kB2004-08-31 11:56
FIIO_Mem.cpp3.74 kB2004-07-16 12:48
FIIO_Mem.h2.50 kB2012-02-19 18:33
LoadFromHandle.cpp4.17 kB2007-01-18 00:30
LoadFromMemory-classified.cpp2.90 kB2004-03-25 02:45
LoadFromMemory.cpp2.70 kB2004-03-25 02:45
ShowMetadata.cpp9.84 kB2007-01-18 00:25
01.96 kB
linux-gtk.c2.13 kB2010-06-26 19:56
linux-svgalib.c1.56 kB2005-10-19 10:59
Makefile568.00 B2010-06-26 19:56
01.96 kB
01.96 kB
readme.txt1.10 kB2008-01-25 00:11
TextureManager.cpp3.84 kB2008-01-25 00:13
TextureManager.h1.39 kB2012-02-19 18:33
01.96 kB
PluginCradle.cpp9.23 kB2004-07-16 12:48
PluginCradle.h1.47 kB2012-02-19 18:33
license-fi.txt17.17 kB2004-03-25 02:45
license-gplv2.txt17.46 kB2012-02-20 14:16
license-gplv3.txt33.99 kB2012-02-20 14:17
README.minGW9.25 kB2009-09-25 17:43
Whatsnew.txt68.63 kB2012-10-27 17:56
01.96 kB
01.96 kB
01.96 kB
01.96 kB
ImagePreview.dpr205.00 B2005-01-01 01:29
ImagePreview.res876.00 B2005-01-01 01:29
MainFrm.dfm3.91 kB2005-01-01 01:29
MainFrm.pas14.92 kB2011-01-07 18:35
Readme.txt358.00 B2005-01-01 01:29
Tiger.jpg62.86 kB2005-01-01 01:29
01.96 kB
mbMainForm.dfm1.96 kB2005-01-01 01:29
mbMainForm.pas3.24 kB2005-01-01 01:29
MultiBitmap.dpr210.00 B2005-01-01 01:29
MultiBitmap.res876.00 B2005-01-01 01:29
MultiBitmap.stat161.00 B2005-01-01 01:29
01.96 kB
Readme.txt686.00 B2005-01-01 01:29
TargaImage.pas5.61 kB2010-07-31 10:53
01.96 kB
MainDemo.dpr212.00 B2005-01-01 01:29
MainDemo.res876.00 B2005-01-01 01:29
MainForm.dfm33.08 kB2006-01-29 05:32
MainForm.pas5.52 kB2006-01-29 09:33
license.txt496.00 B2005-02-28 19:08
01.96 kB
FreeBitmap.pas57.04 kB2011-05-11 17:43
FreeImage.pas78.06 kB2012-06-04 15:21
FreeUtils.pas5.27 kB2010-07-30 04:11
Version.inc4.65 kB2011-05-11 21:04
WhatsNew_Delphi.txt5.02 kB2012-06-04 15:32
_clean.bat180.00 B2006-01-29 05:32
01.96 kB
01.96 kB
01.96 kB
app.ico1.05 kB2007-12-06 14:33
app.rc1.16 kB2007-12-06 14:33
AssemblyInfo.cpp2.28 kB2007-12-06 14:33
FreeImageIO.Net.cpp2.39 kB2007-12-06 14:33
FreeImageIO.Net.h2.86 kB2012-02-19 18:33
FreeImageIO.Net.vcproj4.45 kB2007-12-06 14:33
FreeImageIO.sln919.00 B2007-12-06 14:33
ReadMe.txt922.00 B2007-12-06 14:33
resource.h88.00 B2012-02-19 18:33
Stdafx.cpp211.00 B2007-12-06 14:33
Stdafx.h172.00 B2012-02-19 18:33
01.96 kB
01.96 kB
delete.me34.00 B2009-12-27 18:08
clean.bat1.46 kB2008-06-29 23:41
Content.txt1.29 kB2008-06-29 23:41
01.96 kB
01.96 kB
FreeImage.NET.shfbproj2.16 kB2009-03-06 21:33
01.96 kB
FreeImage.NET.shfbproj2.16 kB2009-09-20 17:33
01.96 kB
FreeImage.NET.shfbproj2.16 kB2009-12-27 01:22
FreeImage.NET.shfbproj2.75 kB2009-12-27 18:08
SHFB.txt610.00 B2009-03-14 16:49
FreeImage.NET.2005.sln16.13 kB2011-07-16 23:08
FreeImage.NET.nunit323.00 B2007-12-06 14:33
FreeImage.NET.sln16.06 kB2011-07-16 23:34
01.96 kB
build.bat364.00 B2009-09-25 17:15
01.96 kB
FreeImageBitmap.cs166.56 kB2011-12-24 18:54
FreeImageEngine.cs2.28 kB2009-09-25 17:15
FreeImagePlugin.cs5.21 kB2009-03-14 16:49
FreeImageStreamIO.cs5.03 kB2009-09-25 17:15
GifInformation.cs4.55 kB2009-03-06 21:34
ImageMetadata.cs8.56 kB2009-03-14 16:49
LocalPlugin.cs15.11 kB2009-09-25 17:15
MemoryArray.cs26.00 kB2009-03-14 16:49
MetadataModel.cs24.69 kB2009-03-14 16:49
MetadataModels.cs246.53 kB2009-09-25 17:16
MetadataTag.cs23.19 kB2009-03-14 16:50
Palette.cs12.60 kB2009-03-14 16:50
PluginRepository.cs12.25 kB2009-09-25 17:16
Scanline.cs1.53 kB2009-03-14 16:50
StreamWrapper.cs8.43 kB2009-03-14 16:50
Delegates.cs7.17 kB2009-09-25 17:15
01.96 kB
DisposalMethodType.cs790.00 B2009-02-27 12:35
FREE_IMAGE_COLOR_CHANNEL.cs2.52 kB2007-12-06 14:33
FREE_IMAGE_COLOR_DEPTH.cs3.29 kB2007-12-06 14:33
FREE_IMAGE_COLOR_OPTIONS.cs2.37 kB2009-09-20 17:44
FREE_IMAGE_COLOR_TYPE.cs2.15 kB2007-12-06 14:33
FREE_IMAGE_COMPARE_FLAGS.cs2.10 kB2007-12-06 14:33
FREE_IMAGE_DITHER.cs2.50 kB2007-12-06 14:33
FREE_IMAGE_FILTER.cs2.27 kB2007-12-06 14:33
FREE_IMAGE_FORMAT.cs4.93 kB2009-09-25 17:16
FREE_IMAGE_JPEG_OPERATION.cs2.43 kB2007-12-06 14:33
FREE_IMAGE_LOAD_FLAGS.cs3.60 kB2009-09-25 17:16
FREE_IMAGE_MDMODEL.cs2.67 kB2007-12-06 14:33
FREE_IMAGE_MDTYPE.cs2.99 kB2007-12-06 14:33
FREE_IMAGE_METADATA_COPY.cs1.99 kB2007-12-06 14:33
FREE_IMAGE_QUANTIZE.cs1.92 kB2007-12-06 14:33
FREE_IMAGE_SAVE_FLAGS.cs5.94 kB2011-12-24 18:53
FREE_IMAGE_TMO.cs2.05 kB2007-12-06 14:33
FREE_IMAGE_TYPE.cs2.92 kB2007-12-06 14:33
ICC_FLAGS.cs1.82 kB2007-12-06 14:33
MD_SEARCH_FLAGS.cs1.93 kB2007-12-06 14:33
FreeImageStaticImports.cs118.13 kB2009-09-25 17:15
FreeImageWrapper.cs190.68 kB2011-10-04 14:00
Library.2005.csproj8.35 kB2011-07-16 20:26
Library.csproj10.02 kB2011-07-16 23:35
01.96 kB
AssemblyInfo.cs857.00 B2011-07-16 23:23
01.96 kB
BITMAP.cs3.90 kB2008-06-29 23:42
BITMAPINFO.cs7.81 kB2008-06-29 23:42
BITMAPINFOHEADER.cs16.40 kB2008-06-29 23:42
FI16RGB555.cs10.36 kB2009-03-14 16:50
FI16RGB565.cs10.36 kB2009-03-14 16:50
FI1BIT.cs2.09 kB2008-06-27 14:29
FI4BIT.cs2.12 kB2008-06-27 14:29
FIBITMAP.cs6.27 kB2009-03-14 16:50
FICOMPLEX.cs5.64 kB2009-03-14 16:50
FIICCPROFILE.cs3.84 kB2008-11-29 12:34
FIMEMORY.cs6.09 kB2009-03-14 16:50
FIMETADATA.cs6.67 kB2009-03-14 16:50
FIMULTIBITMAP.cs6.24 kB2009-03-14 16:50
FIRational.cs30.88 kB2009-03-14 16:50
FIRGB16.cs10.18 kB2009-03-14 16:50
FIRGBA16.cs10.18 kB2009-03-14 16:50
FIRGBAF.cs10.20 kB2009-03-14 16:50
FIRGBF.cs10.16 kB2009-03-14 16:50
FITAG.cs6.00 kB2009-03-14 16:50
FIURational.cs31.39 kB2009-03-14 16:50
fi_handle.cs8.89 kB2009-03-14 16:50
FreeImageIO.cs2.20 kB2008-06-29 23:42
Plugin.cs4.27 kB2008-06-29 23:42
RGBQUAD.cs11.97 kB2009-03-14 16:50
RGBTRIPLE.cs11.26 kB2009-03-14 16:50
01.96 kB
<Sample>0.00 B2012-10-27 18:10
Sample6.13 kB2008-08-29 20:47
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample4.19 kB2011-07-16 23:09
Sample4.35 kB2011-07-16 23:34
Sample122.72 kB2007-12-06 14:33
<Sample>0.00 B2012-10-27 18:10
Sample16.00 kB2007-12-06 14:33
Sample3.66 kB2008-08-29 20:47
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample3.86 kB2011-07-16 23:09
Sample4.03 kB2011-07-16 23:34
<Sample>0.00 B2012-10-27 18:10
Sample2.28 kB2008-08-29 20:47
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample3.68 kB2011-07-16 23:09
Sample3.84 kB2011-07-16 23:34
<Sample>0.00 B2012-10-27 18:10
Sample2.99 kB2012-10-07 23:17
Sample6.89 kB2007-12-06 14:33
Sample5.86 kB2007-12-06 14:33
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample4.12 kB2011-07-16 23:09
Sample4.28 kB2011-07-16 23:34
<Sample>0.00 B2012-10-27 18:10
Sample6.06 kB2008-08-29 20:47
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample3.96 kB2011-07-16 23:09
Sample4.13 kB2011-07-16 23:34
Sample21.72 kB2007-12-06 14:33
Sample24.03 kB2007-12-06 14:33
<Sample>0.00 B2012-10-27 18:10
Sample3.93 kB2009-09-25 17:16
Sample4.38 kB2007-12-06 14:33
Sample5.68 kB2007-12-06 14:33
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample4.25 kB2011-07-16 23:09
Sample4.41 kB2011-07-16 23:34
Sample122.72 kB2007-12-06 14:33
<Sample>0.00 B2012-10-27 18:10
Sample2.01 kB2008-01-23 18:02
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample3.82 kB2011-07-16 23:09
Sample3.98 kB2011-07-16 23:34
Sample43.56 kB2007-12-06 14:33
<Sample>0.00 B2012-10-27 18:10
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample4.31 kB2011-07-16 23:09
Sample4.47 kB2011-07-16 23:34
Sample122.72 kB2007-12-06 14:33
Sample5.08 kB2008-08-29 20:47
Sample4.24 kB2007-12-06 14:33
Sample5.68 kB2007-12-06 14:33
Sample6.20 kB2008-09-07 14:55
<Sample>0.00 B2012-10-27 18:10
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample4.17 kB2011-07-16 23:09
Sample4.33 kB2011-07-16 23:34
Sample3.39 kB2008-08-29 20:47
Sample3.81 kB2007-12-06 14:33
Sample5.68 kB2007-12-06 14:33
<Sample>0.00 B2012-10-27 18:10
Sample2.71 kB2008-08-29 20:47
Sample2.71 kB2007-12-06 14:33
Sample5.68 kB2007-12-06 14:33
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample4.04 kB2011-07-16 23:09
Sample4.20 kB2011-07-16 23:34
<Sample>0.00 B2012-10-27 18:10
Sample11.18 kB2008-08-29 20:47
Sample14.73 kB2007-12-29 13:12
Sample6.05 kB2007-12-29 13:12
Sample1.20 kB2008-06-29 23:42
Sample1.87 kB2007-12-29 13:12
Sample5.68 kB2007-12-29 13:12
<Sample>0.00 B2012-10-27 18:10
Sample559.00 B2008-06-29 23:42
Sample4.52 kB2011-07-16 23:09
Sample4.68 kB2011-07-16 23:34
01.96 kB
FreeImage.cs.template5.40 kB2009-09-25 17:16
Program.cs2.94 kB2008-06-29 23:42
01.96 kB
AssemblyInfo.cs559.00 B2008-06-29 23:42
SourceFileMerger.2005.csproj3.82 kB2008-09-07 14:55
SourceFileMerger.csproj3.99 kB2011-07-16 23:34
01.96 kB
FreeImage.cs1.06 MB2011-12-24 18:49
ImageManager.cs4.65 kB2008-08-29 20:47
NUnit.txt650.00 B2008-01-23 18:03
01.96 kB
AssemblyInfo.cs637.00 B2008-06-29 23:43
UnitTest.2005.csproj4.42 kB2009-03-14 16:50
UnitTest.cs171.97 kB2009-04-27 08:06
UnitTest.csproj4.58 kB2011-07-16 23:34
Whats_New.NET.txt10.34 kB2011-12-24 18:54
01.96 kB
clean.bat352.00 B2011-07-17 00:50
01.96 kB
<delete.me>0.00 B2004-05-31 04:30
FreeImagePlus.dll88.00 kB2012-10-27 18:05
FreeImagePlus.h52.65 kB2012-02-19 18:33
FreeImagePlus.lib61.80 kB2012-10-27 18:05
01.96 kB
footer.html82.00 B2004-03-25 02:45
freeimage.png4.48 kB2004-07-16 14:21
freeimagedoc.jpg80.16 kB2004-07-16 14:21
FreeImagePlus.dox71.61 kB2011-07-26 22:02
index.html1.28 kB2011-07-26 22:02
FreeImagePlus.2003.sln920.00 B2007-07-08 11:04
FreeImagePlus.2003.vcproj5.74 kB2009-07-12 00:41
FreeImagePlus.2005.sln890.00 B2010-02-05 07:46
FreeImagePlus.2005.vcproj12.00 kB2010-08-13 07:20
FreeImagePlus.2008.sln891.00 B2010-02-05 05:26
FreeImagePlus.2008.vcproj12.13 kB2012-10-07 23:50
FreeImagePlus.h52.65 kB2012-02-19 18:33
FreeImagePlus.rc2.50 kB2012-04-09 05:12
01.96 kB
fipImage.cpp23.87 kB2011-07-19 22:56
fipMemoryIO.cpp2.89 kB2010-12-09 18:02
fipMetadataFind.cpp1.83 kB2010-12-09 18:02
fipMultiPage.cpp4.11 kB2010-12-09 18:02
fipTag.cpp3.50 kB2010-12-09 18:02
fipWinImage.cpp14.00 kB2010-12-09 18:02
FreeImagePlus.cpp1.52 kB2010-12-09 18:02
01.96 kB
fipTest.2003.sln979.00 B2007-07-08 11:07
fipTest.2003.vcproj5.03 kB2010-04-22 16:34
fipTest.2005.sln883.00 B2010-04-22 16:39
fipTest.2005.vcproj5.89 kB2010-04-22 16:41
fipTest.2008.sln1.21 kB2011-07-17 00:37
fipTest.2008.vcproj11.27 kB2011-07-17 00:37
fipTest.cpp2.16 kB2010-04-22 15:59
fipTest.h3.24 kB2012-02-19 18:33
fipTestMemIO.cpp4.71 kB2010-04-22 14:13
fipTestMPage.cpp2.37 kB2010-04-22 14:13
fipTestMPageMemory.cpp7.66 kB2010-04-22 15:40
fipTestMPageStream.cpp5.98 kB2010-04-22 15:59
test.jpg43.56 kB2004-12-31 01:34
test.tif16.00 kB2007-12-06 14:33
WhatsNew_FIP.txt6.42 kB2011-07-19 22:58
01.96 kB
01.96 kB
MFreeImage.bas558.19 kB2012-10-07 19:07
WhatsNew_VB.txt50.54 kB2012-10-07 19:07
01.96 kB
SimpleTest.frm1.20 kB2004-07-16 12:48
SimpleTest.vbp791.00 B2004-07-16 12:48
...
Sponsored links

ShowMetadata.cpp (2.42 MB)

Need 2 point
Your Point(s)

Your Point isn't enough.

Get point immediately by PayPal

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more point

LOGIN

Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com

切换到中文版?

CodeForge Chinese Version
CodeForge English Version

Where are you going?

^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!
OK

Warm tip!

CodeForge to FavoriteFavorite by Ctrl+D