CacheData
WmfImage.CacheData method
Кэширует данные и гарантирует, что дополнительная загрузка данных не будет выполняться из базового DataStreamContainer
.
public override void CacheData()
Исключения
исключение | условие |
---|---|
NotImplementedException |
Примеры
В этом примере показано, как загрузить изображение WMF из файла и перечислить все его записи.
[C#]
string dir = "c:\\temp\\";
// Использование Aspose.Imaging.Image.Load — это унифицированный способ загрузки всех типов изображений, включая WMF.
using (Aspose.Imaging.FileFormats.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
{
// Кэшировать данные для загрузки всех записей.
wmfImage.CacheData();
System.Console.WriteLine("The total number of records: {0}", wmfImage.Records.Count);
// Ключ — тип записи, значение — количество записей этого типа в образе WMF.
System.Collections.Generic.Dictionary<System.Type, int> types =
new System.Collections.Generic.Dictionary<System.Type, int>();
// Собираем статистику
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]++;
}
}
// Печатаем статистику
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);
}
}
//Вывод может выглядеть так:
//Общее количество записей: 613
//Количество типов записи
//--------------------------------
//Вмфсетбкмоде: 1
//Вмфсеттексталигн: 1
//WmfSetRop2: 1
//Вмфсетвиндоворг: 1
//Вмфсетвиндовекст: 1
//WmfCreateBrushInDirect: 119
//WmfSelectObject: 240
//Вмфкреатепениндирект: 119
//WmfSetPolyFillMode: 1
//WmfPolyPolygon: 114
//WmfPolyLine: 7
//Вмфсеттекстколор: 2
//WmfCreateFontInDirect: 2
//WmfExtTextOut: 2
//WmfDibStrechBlt: 1
//WmfEof: 1
Смотрите также
- class WmfImage
- пространство имен Aspose.Imaging.FileFormats.Wmf
- сборка Aspose.Imaging