Deletes a tag from a file, if the file supports tags (TIFF, Exif or PNG).
#include "l_bitmap.h"
L_LTFIL_API L_INT L_DeleteTag(pszFile, nPage, uTag, uFlags, pSaveOptions)
Character string containing the name of the file from which to delete the tag.
Number of the page from which the tag will be deleted. Use -1 to delete the tag from the last page. Use 1 to delete the tag from the first page.
The ID of the tag in the TIFF file. The tag IDs are between 0 and 65535.
Reserved for future use. Pass 0.
Pointer to optional extended save options. Pass NULL to use the default save options.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
ERROR_TAG_MISSING | The requested tag is missing. |
< 1 | An error occurred. Refer to Return Codes. |
Note that if you pass a SAVEFILEOPTION, the PageNumber member of that structure will be ignored. The page number is indicated through the nPage
parameter of this function.
If you want to delete the tag from a particular IFD in the file, set ESO_USEIFD in the SAVEFILEOPTIONS.Flags parameter and set SAVEFILEOPTIONS.IFD to the IFD in question. This function will delete tags only from the main IFDs that make up an image. Some TIFF tags are themselves SubIFDs. You can delete tags from such SubIFDs by using the SAVEFILEOPTION and specifying the IFD as above.
Notes:
The LFCMP filter is used to delete the tag from all the TIFF and Exif files.
DO NOT use this function to delete tags from inside an ENUMTAGS2CALLBACK callback function. To do this, use ENUMTAGS2CALLBACK to add the tags to a list. Upon returning from L_EnumFileTags2, delete all the tags from the list.
You should be careful when you delete non-custom tags (tags below 32768). If you delete the wrong tag, you might corrupt the TIF file.
When you add or remove comments or tags, the comments and tags array at the end of the TIFF/Exif image file is re-written. When you modify existing comments or tags, the new value is added to the file and the IFD is modified as necessary. In all of these cases, there is no image recompression.
Win32, x64, Linux.
#define FILENAME MAKE_IMAGE_PATH(TEXT("OCR1.tif"))
#define TGPAGENUMBER 266
L_INT DeleteTagExample(HWND hWnd)
{
L_INT nRet;
LOADFILEOPTION LoadFileOption;
nRet = L_GetDefaultLoadFileOption(&LoadFileOption, sizeof(LoadFileOption));
if(nRet != SUCCESS)
return nRet;
LoadFileOption.PageNumber = -1;
if(L_ReadFileTag(FILENAME, TGPAGENUMBER, NULL, NULL, NULL, &LoadFileOption) > 0)
{
nRet = L_DeleteTag(FILENAME, -1, TGPAGENUMBER, 0, NULL);
if(nRet != SUCCESS)
{
MessageBox(hWnd, TEXT("L_DeleteTag failed!"), TEXT("Error"), MB_OK);
return nRet;
}
else
MessageBox(hWnd, TEXT("L_DeleteTag SUCCEEDED!"), TEXT("SUCCESS"), MB_OK);
}
else
MessageBox(hWnd, TEXT("Page 2 does not have a PAGENUMBER tag!"), TEXT("Error"), MB_OK);
return SUCCESS;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document