Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
GMImage.SetProfile
Add or remove a named profile to/from the image.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
GraphicsMagick | 2.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example |
---|---|---|
ImageRef | The image reference number. | 1 |
name | The string with the name of the profile. | "IPTC" |
data | The container field value with the embedded profile file. |
Result
Returns "OK" on success.
Description
Add or remove a named profile to/from the image.Remove the profile by passing an empty container field. Valid names are "*", "8BIM", "ICM", "IPTC", "EXIF", or a user/format-defined profile name.
Examples
Remove XMP:
Set Variable [$Result; Value:MBS( "GMImage.SetProfile"; $imageRef; "XMP"; "" )]
Remove IPTC:
Set Variable [$Result; Value:MBS( "GMImage.SetProfile"; $imageRef; "IPTC"; "" )]
Remove EXIF:
Set Variable [$Result; Value:MBS( "GMImage.SetProfile"; $imageRef; "EXIF"; "" )]
Clear all profiles:
Set Variable [ $Image ; Value: MBS("GMImage.NewFromContainer"; MyTable::BMPContainer) ]
# remove metadata
Set Variable [$Result; Value:MBS( "GMImage.SetProfile"; $Image; "EXIF"; "" )]
Set Variable [$Result; Value:MBS( "GMImage.SetProfile"; $Image; "IPTC"; "" )]
Set Variable [$Result; Value:MBS( "GMImage.SetProfile"; $Image; "XMP"; "" )]
# write back as JPEG
Set Variable [ $r ; Value: MBS("GMImage.SetQuality";$Image; 90) ]
Set Field [ MyTable::JPEGContainer ; MBS("GMImage.WriteToJPEGContainer"; $Image) ]
Set Variable [ $r ; Value: MBS("GMImage.Release";$Image) ]
Copy IPTC data to a new picture:
# load a picture
Set Variable [ $img ; Value: MBS("GMImage.NewFromContainer"; IPTC::InputImage) ]
# make a new one
Set Variable [ $newImage ; Value: MBS("GMImage.New"; "100x100"; "white") ]
# read metadata and put it on the new picture
Set Variable [ $data ; Value: MBS( "GMImage.GetProfile"; $img; "IPTC" ) ]
Set Variable [ $r ; Value: MBS( "GMImage.SetProfile"; $newImage; "IPTC"; $data ) ]
# write to file
Set Variable [ $r ; Value: MBS( "GMImage.WriteToFile"; $newImage; "/Users/cs/Desktop/Import.jpg" ) ]
# and free memory
Set Variable [ $r ; Value: MBS( "GMImage.Release"; $newImage) ]
Set Variable [ $r ; Value: MBS( "GMImage.Release"; $img) ]
See also
- GMImage.GetIPTCProfile
- GMImage.GetProfile
- GMImage.NewFromContainer
- GMImage.NewFromFile
- GMImage.Release
- GMImage.Scale
- GMImage.SetDensity
- GMImage.SetIPTCProfile
- GMImage.SetQuality
- GMImage.WriteToJPEGContainer
Release notes
- Version 8.4
- Fixed crash with GMImage.SetIPTCProfile, GMImage.SetICCColorProfile and GMImage.SetProfile if called with empty parameter.
Example Databases
Blog Entries
This function checks for a license.
Created 18th August 2014, last changed 22nd August 2022