Deletes a tag from the ICC profile.
#include "ltwrappr.h"
L_INT LICCProfile::DeleteTag(uTagSig, pTag);
A value that indicates the signature of the tag to delete from the ICC profile. For all possible values including the private tag types, refer to ICCTAGSIGNATURE.
Pointer to a buffer to be updated with the deleted tag.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
This function deletes the desired tag from the ICC profile. Before deleting it however, it makes a copy of the tag, and updates the pTag parameter with a pointer to the copy.
This example will delete a tag from an ICC profile
L_INT LICCProfile_DeleteTagExample(L_TCHAR* szFileName)
{
L_INT nRet = FAILURE;
LICCProfile IccProfile;
ICCTAG_DATE_TIME_TYPE IccDateTimeType;
// Initialize the ICC Profile
nRet = IccProfile.Initialize ();
if (nRet != SUCCESS)
{
IccProfile.Free ();
return nRet;
}
// Load an ICC Profile that is embedded in an image
nRet = IccProfile.Load (szFileName, NULL);
if (nRet != SUCCESS)
{
IccProfile.Free ();
return nRet;
}
// Fill the ICC Profile with the ICC data loaded from the image
nRet = IccProfile.Fill (IccProfile.GetProfile ()->pData, (L_UINT)(IccProfile.GetProfile()->uDataSize));
if (nRet != SUCCESS)
{
IccProfile.Free ();
return nRet;
}
// Get Calibration Date and Time tag
nRet = IccProfile.GetTagData ((L_UCHAR *)(&IccDateTimeType), CalibrationDateTimeTag);
if (nRet != SUCCESS)
{
IccProfile.Free ();
return nRet;
}
nRet = IccProfile.DeleteTag(CalibrationDateTimeTag, (L_UCHAR *)(&IccDateTimeType));
// Free the ICC Profile
IccProfile.Free ();
return nRet;
}