With the GetProfile method you can retrieve the IPTC/XMP profile, and with the AddProfile method you can add a new profile.
Add this moment there are no classes for the XMP / IPTC profile but it might be a good idea to create them. You have to modify the byte array yourself. I will also see if I can change the ExifProfile class to enable modification of a values.
You do have to realize that you will loose some of the quality when you read and write a jpeg image.
using(MagickImage image = new MagickImage("input.jpg")) { ImageProfile profile = image.GetProfile("IPTC"); profile = ModifyProfile(profile); profile.AddProfile(profile); }
You do have to realize that you will loose some of the quality when you read and write a jpeg image.