CacheData

WmfImage.CacheData method

Met en cache les données et garantit qu’aucun chargement de données supplémentaire ne sera effectué à partir du sous-jacent DataStreamContainer .

public override void CacheData()

Exceptions

exceptioncondition
NotImplementedException

Exemples

Cet exemple montre comment charger une image WMF à partir d’un fichier et répertorier tous ses enregistrements.

[C#]

string dir = "c:\\temp\\";

// Utiliser Aspose.Imaging.Image.Load est un moyen unifié de charger tous les types d'images, y compris WMF.
using (Aspose.Imaging.FileFormats.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
{
    // Données de cache pour charger tous les enregistrements.
    wmfImage.CacheData();
    System.Console.WriteLine("The total number of records: {0}", wmfImage.Records.Count);

    // La clé est un type d'enregistrement, la valeur est le nombre d'enregistrements de ce type dans l'image WMF.
    System.Collections.Generic.Dictionary<System.Type, int> types =
        new System.Collections.Generic.Dictionary<System.Type, int>();

    // Collecte des statistiques 
    foreach (Aspose.Imaging.FileFormats.Wmf.Objects.WmfObject obj in wmfImage.Records)
    {
        System.Type objType = obj.GetType();
        if (!types.ContainsKey(objType))
        {
            types.Add(objType, 1);
        }
        else
        {
            types[objType]++;
        }
    }

    // Imprimer les statistiques
    System.Console.WriteLine("Record Type                              Count");
    System.Console.WriteLine("----------------------------------------------");
    foreach (System.Collections.Generic.KeyValuePair<System.Type, int> entry in types)
    {
        string objectType = entry.Key.Name;
        string alignmentGap = new string(' ', 40 - objectType.Length);
        System.Console.WriteLine("{0}:{1}{2}", entry.Key.Name, alignmentGap, entry.Value);
    }
}

//La sortie peut ressembler à ceci :
//Le nombre total d'enregistrements : 613
// Nombre de types d'enregistrement
//----------------------------------------------
//WmfSetBkMode : 1
// WmfSetTextAlign : 1
//WmfSetRop2 : 1
//WmfSetWindowOrg : 1
//WmfSetWindowExt : 1
//WmfCreateBrushInDirect : 119
//WmfSelectObjet : 240
//WmfCreatePenInDirect : 119
//WmfSetPolyFillMode : 1
//WmfPolyPolygon : 114
//LignePolyWmf : 7
//WmfSetTextColor : 2
//WmfCreateFontInDirect : 2
//WmfExtTextOut : 2
//WmfDibStrechBlt : 1
//WmfEof : 1

Voir également