// Read File
FIBITMAP * bmp = NULL;
FREE_IMAGE_FORMAT fif = FIF_UNKNOWN;
fif = FreeImage_GetFileType(fileName.c_str(), 0);
if(fif == FIF_UNKNOWN) {
// or guess via filename
fif = FreeImage_GetFIFFromFilename(fileName.c_str());
}
if((fif != FIF_UNKNOWN) && FreeImage_FIFSupportsReading(fif)) {
bmp = FreeImage_Load(fif, fileName.c_str(), 0);
if (bmp != NULL){
bLoaded = true;
}
}
// Write
{
FITAG* tag = FreeImage_CreateTag();
string s = "Add Comment To Image";
// property settings
FreeImage_SetTagLength(tag, s.size());
FreeImage_SetTagCount(tag, s.size());
FreeImage_SetTagType(tag, FIDT_ASCII);
FreeImage_SetTagValue(tag, s.c_str());
// store the tag as a comment
// use "Comment" only
// if gif use "CommentX" x = 0-N
FreeImage_SetTagKey(tag, "Comment");
FreeImage_SetMetadata(FIMD_COMMENTS, bmp, FreeImage_GetTagKey(tag), tag);
// destroy the tag
FreeImage_DeleteTag(tag);
// save and update file
FreeImage_Save(fif, bmp, fileName.c_str(), JPEG_QUALITYGOOD);
FreeImage_Unload(bmp);
}
// Read
{
FITAG *tag = NULL;
FIMETADATA *mdhandle = NULL;
// get the 'Comments' metadata
mdhandle = FreeImage_FindFirstMetadata(FIMD_COMMENTS, bmp, &tag);
if(mdhandle) {
char* c = (char*)FreeImage_GetTagValue(tag);
cout<<c<<endl;
FreeImage_FindCloseMetadata(mdhandle);
}
}
用FreeImage在图片中添加简单注释
最新推荐文章于 2020-11-21 06:59:47 发布