SavePixels

RasterImage.SavePixels method

Pikselleri kaydeder.

public void SavePixels(Rectangle rectangle, Color[] pixels)
ParametreTipTanım
rectangleRectanglePiksellerin kaydedileceği dikdörtgen.
pixelsColor[]Piksel dizisi.

Örnekler

Aşağıdaki örnek, Aspose.Imaging.RasterImage.SavePixels yöntemini kullanarak bir raster görüntünün orta alanını siyah piksellerle doldurur.

[C#]

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

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
    Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;

    // siyah kare
    Color[] pixels = new Color[(rasterImage.Width / 2) * (rasterImage.Height / 2)];
    for (int i = 0; i < pixels.Length; i++)
    {
        pixels[i] = Color.Black;
    }

    // Resmin ortasına siyah kareyi çizin.
    Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(rasterImage.Width / 4, rasterImage.Height / 4, rasterImage.Width / 2, rasterImage.Height / 2);
    rasterImage.SavePixels(area, pixels);

    rasterImage.Save(dir + "sample.SavePixels.png");
}

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