LoadPixels

RasterImage.LoadPixels method

Piksel yükler.

public Color[] LoadPixels(Rectangle rectangle)
ParametreTipTanım
rectangleRectanglePiksellerin yükleneceği dikdörtgen.

Geri dönüş değeri

Yüklenen piksel dizisi.

Örnekler

Aşağıdaki örnek, bir raster görüntünün piksellerinin nasıl yükleneceğini ve işleneceğini gösterir. Örneğin, bir görüntünün tamamen saydam piksellerini sayma problemini ele alalım.

[C#]

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
    Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;

    // Tüm görüntü için pikselleri yükleyin. Resmin herhangi bir dikdörtgen kısmı Aspose.Imaging.RasterImage.LoadPixels yönteminin bir parametresi olarak belirtilebilir.
    Color[] pixels = rasterImage.LoadPixels(rasterImage.Bounds);

    int count = 0;
    foreach (Color pixel in pixels)
    {
        if (pixel.A == 0)
        {
            count++;
        }
    }

    System.Console.WriteLine("The number of fully transparent pixels is {0}", count);
    System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}

Bu örnek, Piksel bilgilerinin bir Renk Türü Dizisine nasıl yükleneceğini, diziyi nasıl değiştireceğini ve görüntüye geri ayarlayacağını gösterir. Bu işlemleri gerçekleştirmek için bu örnek, MemoryStream nesnesini kullanan yeni bir Görüntü dosyası (GIF formatında) oluşturur.

[C#]

//MemoryStream örneğini oluştur
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
    //Bir GifOptions örneği oluşturun ve Source özelliği dahil olmak üzere çeşitli özelliklerini ayarlayın
    Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
    gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);

    //Görüntü örneğini oluştur
    using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
    {
        //Alanı görüntü sınırı olarak belirterek görüntünün piksellerini alın
        Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);

        // Dizi üzerinde dolaş ve alrenative indekslenmiş pikselin rengini ayarla
        for (int index = 0; index < pixels.Length; index++)
        {
            if (index % 2 == 0)
            {
                // Dizine alınmış piksel rengini sarıya ayarla
                pixels[index] = Aspose.Imaging.Color.Yellow;
            }
            else
            {
                //Dizinli piksel rengini maviye ayarla
                pixels[index] = Aspose.Imaging.Color.Blue;
            }
        }

        // Piksel değişikliklerini görüntüye uygula
        image.SavePixels(image.Bounds, pixels);

        // tüm değişiklikleri kaydet.
        image.Save();
    }

    // MemoryStream'i Dosyaya Yaz
    using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
    {
        stream.WriteTo(fileStream);
    }   
}

Ayrıca bakınız