LoadPixels
RasterImage.LoadPixels method
Piksel yükler.
public Color[] LoadPixels(Rectangle rectangle)
Parametre | Tip | Tanım |
---|---|---|
rectangle | Rectangle | Piksellerin 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
- struct Color
- struct Rectangle
- class RasterImage
- ad alanı Aspose.Imaging
- toplantı Aspose.Imaging