CacheData

RasterCachedImage.CacheData method

Verileri önbelleğe alır ve temel alınandan ek veri yüklemesi yapılmamasını sağlarDataStreamContainer .

public override void CacheData()

Örnekler

Aşağıdaki örnek, raster görüntü önbelleğe almanın performansı nasıl etkilediğini gösterir. Genel durumda, önbelleğe alınmış verilerin okunması, önbelleğe alınmamış verilerin okunmasından daha hızlı gerçekleştirilir.

[C#]

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

// PNG dosyasından bir resim yükleyin.
using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
{
    // Temel veri akışından ek veri yüklemesi gerçekleştirilmeyecek şekilde tüm piksel verilerini önbelleğe alın
    image.CacheData();

    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
    stopwatch.Start();

    // Tüm pikselleri okumak oldukça hızlıdır.
    for (int y = 0; y < image.Height; y++)
    {
        for (int x = 0; x < image.Width; x++)
        {
            int color = image.GetArgb32Pixel(x, y);
        }
    }

    stopwatch.Stop();
    System.Console.WriteLine("Reading all cached pixels took {0} ms.", stopwatch.ElapsedMilliseconds);
}

// PNG dosyasından bir resim yükleyin
using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
{
    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
    stopwatch.Start();

    // Tüm pikselleri okumak, önbelleğe alırken olduğu kadar hızlı değil
    for (int y = 0; y < image.Height; y++)
    {
        for (int x = 0; x < image.Width; x++)
        {
            int color = image.GetArgb32Pixel(x, y);
        }
    }

    stopwatch.Stop();
    System.Console.WriteLine("Reading all pixels without preliminary caching took {0} ms.", stopwatch.ElapsedMilliseconds);
}

// Çıktı şöyle görünebilir:
// Önbelleğe alınan tüm piksellerin okunması 1500 ms sürdü.
// Önbelleğe alma olmadan tüm pikselleri okumak 150000 ms sürdü.

Ayrıca bakınız