LoadPixels
RasterImage.LoadPixels method
Carica pixel.
public Color[] LoadPixels(Rectangle rectangle)
Parametro | Tipo | Descrizione |
---|---|---|
rectangle | Rectangle | Il rettangolo da cui caricare i pixel. |
Valore di ritorno
L’array di pixel caricati.
Esempi
L’esempio seguente mostra come caricare ed elaborare i pixel di un’immagine raster. Si consideri ad esempio un problema di conteggio dei pixel completamente trasparenti di un’immagine.
[C#]
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Carica pixel per l'intera immagine. Qualsiasi parte rettangolare dell'immagine può essere specificata come parametro del metodo Aspose.Imaging.RasterImage.LoadPixels.
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);
}
Questo esempio mostra come caricare le informazioni sui pixel in una matrice di tipo colore, manipolare la matrice e reimpostarla sull’immagine. Per eseguire queste operazioni, questo esempio crea un nuovo file immagine (in formato GIF) utilizzando l’oggetto MemoryStream.
[C#]
//Crea un'istanza di MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Crea un'istanza di GifOptions e imposta le sue varie proprietà inclusa la proprietà Source
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Crea un'istanza di Image
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Ottieni i pixel dell'immagine specificando l'area come limite dell'immagine
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//Cicla sull'array e imposta il colore del pixel indicizzato alternativo
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Imposta il colore del pixel indicizzato su giallo
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Imposta il colore del pixel indicizzato su blu
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Applica le modifiche ai pixel all'immagine
image.SavePixels(image.Bounds, pixels);
// salva tutte le modifiche.
image.Save();
}
// Scrivi MemoryStream su file
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
Guarda anche
- struct Color
- struct Rectangle
- class RasterImage
- spazio dei nomi Aspose.Imaging
- assemblea Aspose.Imaging