LoadPixels
RasterImage.LoadPixels method
Charge les pixels.
public Color[] LoadPixels(Rectangle rectangle)
Paramètre | Taper | La description |
---|---|---|
rectangle | Rectangle | Le rectangle à partir duquel charger les pixels. |
Return_Value
Le tableau de pixels chargé.
Exemples
L’exemple suivant montre comment charger et traiter les pixels d’une image raster. Par exemple, considérons un problème de comptage de pixels entièrement transparents d’une image.
[C#]
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Charge les pixels pour toute l'image. Toute partie rectangulaire de l'image peut être spécifiée en tant que paramètre de la méthode 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);
}
Cet exemple montre comment charger les informations de pixel dans un tableau de type couleur, manipuler le tableau et le redéfinir sur l’image. Pour effectuer ces opérations, cet exemple crée un nouveau fichier Image (au format GIF) utilisant l’objet MemoryStream.
[C#]
//Créer une instance de MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Créer une instance de GifOptions et définir ses différentes propriétés, y compris la propriété Source
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Créer une instance de Image
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
// Récupère les pixels de l'image en spécifiant la zone comme limite de l'image
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
// Boucle sur le tableau et définit la couleur du pixel indexé alternatif
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
// Définit la couleur du pixel indexé sur jaune
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
// Définit la couleur du pixel indexé sur bleu
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Appliquer les changements de pixel à l'image
image.SavePixels(image.Bounds, pixels);
// Enregistrer toutes les modifications.
image.Save();
}
// Écrire MemoryStream dans le fichier
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
Voir également
- struct Color
- struct Rectangle
- class RasterImage
- espace de noms Aspose.Imaging
- Assemblée Aspose.Imaging