GetArgb32Pixel
RasterImage.GetArgb32Pixel method
Ottiene un’immagine ARGB pixel a 32 bit.
public int GetArgb32Pixel(int x, int y)
Parametro | Tipo | Descrizione |
---|---|---|
x | Int32 | La posizione del pixel x. |
y | Int32 | La posizione del pixel y. |
Valore di ritorno
Il pixel ARGB a 32 bit per la posizione specificata.
Esempi
L’esempio seguente carica un’immagine raster e ottiene il colore di un pixel arbitrario rappresentato come un valore intero a 32 bit.
[C#]
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Ottieni una rappresentazione intera del colore del pixel in alto a sinistra dell'immagine.
int color = rasterImage.GetArgb32Pixel(0, 0);
// Per ottenere i valori delle singole componenti del colore, spostare il valore del colore di un numero corrispondente di bit
int alpha = (color >> 24) & 0xff;
int red = (color >> 16) & 0xff;
int green = (color >> 8) & 0xff;
int blue = (color >> 0) & 0xff;
System.Console.WriteLine("The color of the pixel(0,0) is A={0},R={1},G={2},B={3}", alpha, red, green, blue);
}
L’esempio seguente mostra come la memorizzazione nella cache dell’immagine influisce sulle prestazioni. In generale, la lettura dei dati memorizzati nella cache viene eseguita più velocemente rispetto alla lettura dei dati non memorizzati nella cache.
[C#]
string dir = "c:\\temp\\";
// Carica un'immagine da un file PNG.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
// Memorizza nella cache tutti i dati dei pixel in modo che non venga eseguito alcun caricamento di dati aggiuntivo dal flusso di dati sottostante
image.CacheData();
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// La lettura di tutti i pixel è piuttosto veloce.
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
int color = rasterImage.GetArgb32Pixel(x, y);
}
}
stopwatch.Stop();
System.Console.WriteLine("Reading all cached pixels took {0} ms.", stopwatch.ElapsedMilliseconds);
}
// Carica un'immagine da un file PNG
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// La lettura di tutti i pixel non è veloce come durante la memorizzazione nella cache
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
int color = rasterImage.GetArgb32Pixel(x, y);
}
}
stopwatch.Stop();
System.Console.WriteLine("Reading all pixels without preliminary caching took {0} ms.", stopwatch.ElapsedMilliseconds);
}
// L'output potrebbe essere simile a questo:
// La lettura di tutti i pixel nella cache ha richiesto 1500 ms.
// La lettura di tutti i pixel senza cache preliminare ha richiesto 150000 ms.
Guarda anche
- class RasterImage
- spazio dei nomi Aspose.Imaging
- assemblea Aspose.Imaging