ça s'appelle les "Metadata"
Donc on peut faire :
string sFileName = @"c:\test.jpg";
string sTitle = "test nouveau titre";
BitmapDecoder bitmapDecoder = null;
BitmapFrame bitmapFrame = null;
BitmapMetadata bitmapMetadata = null;
using (Stream jpegStreamIn = System.IO.File.Open(sFileName, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
bitmapDecoder = new JpegBitmapDecoder(jpegStreamIn, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad);
}
bitmapFrame = bitmapDecoder.Frames[0];
bitmapMetadata = (BitmapMetadata)bitmapFrame.Metadata;
if (bitmapMetadata != null)
{
bitmapMetadata = (BitmapMetadata)bitmapFrame.Metadata.Clone();
bitmapMetadata.Title = sTitle;
JpegBitmapEncoder bitmapEncoder = new JpegBitmapEncoder();
bitmapEncoder.Frames.Add(BitmapFrame.Create(bitmapFrame, bitmapFrame.Thumbnail, bitmapMetadata, bitmapFrame.ColorContexts));
FileInfo originalImage = new FileInfo(sFileName);
originalImage.Delete();
using (Stream jpegStreamOut = System.IO.File.Open(sFileName, FileMode.CreateNew, FileAccess.ReadWrite))
{
bitmapEncoder.Save(jpegStreamOut);
}
}