none
propriété -> Détails d'un fichier .jpg

Toutes les réponses

  • ç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);
        }
    }

    mardi 20 juin 2017 21:01