LoadPixels
RasterImage.LoadPixels method
Laddar pixlar.
public Color[] LoadPixels(Rectangle rectangle)
Parameter | Typ | Beskrivning |
---|---|---|
rectangle | Rectangle | Rektangeln att ladda pixlar från. |
Returvärde
Den inlästa pixelmatrisen.
Exempel
Följande exempel visar hur man laddar och bearbetar pixlar i en rasterbild. Tänk till exempel på ett problem med räkning av helt genomskinliga pixlar i en bild.
[C#]
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Ladda pixlar för hela bilden. Vilken rektangulär del av bilden som helst kan anges som en parameter för metoden 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);
}
Det här exemplet visar hur man laddar pixelinformation i en array av typfärg, manipulerar arrayen och återställer den till bilden. För att utföra dessa operationer skapar det här exemplet en ny bildfil (i GIF-format) med ett MemoryStream-objekt.
[C#]
//Skapa en instans av MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Skapa en instans av GifOptions och ställ in dess olika egenskaper inklusive egenskapen Source
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Skapa en instans av bild
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Hämta pixlarna i bilden genom att ange området som bildgräns
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//Slinga över Arrayen och ställer in färgen på alrenativt indexerad pixel
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Ställ in den indexerade pixelfärgen till gul
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Ställ in den indexerade pixelfärgen till blå
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Tillämpa pixeländringarna på bilden
image.SavePixels(image.Bounds, pixels);
// spara alla ändringar.
image.Save();
}
// Skriv MemoryStream till fil
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
Se även
- struct Color
- struct Rectangle
- class RasterImage
- namnutrymme Aspose.Imaging
- hopsättning Aspose.Imaging