LoadPixels
RasterImage.LoadPixels method
Загружает пиксели.
public Color[] LoadPixels(Rectangle rectangle)
Параметр | Тип | Описание |
---|---|---|
rectangle | Rectangle | Прямоугольник, из которого загружаются пиксели. |
Возвращаемое значение
Массив загруженных пикселей.
Примеры
В следующем примере показано, как загружать и обрабатывать пиксели растрового изображения. Например, рассмотрим задачу подсчета полностью прозрачных пикселей изображения.
[C#]
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Загрузить пиксели для всего изображения. В качестве параметра метода 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);
}
В этом примере показано, как загрузить информацию о пикселях в массив цвета типа, манипулировать массивом и установить его обратно в изображение. Для выполнения этих операций в этом примере создается новый файл изображения (в формате GIF) с использованием объекта MemoryStream.
[C#]
//Создаем экземпляр MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Создаем экземпляр GifOptions и устанавливаем его различные свойства, включая свойство Source
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Создаем экземпляр изображения
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Получить пиксели изображения, указав область в качестве границы изображения
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
// Цикл по массиву и установка цвета альтернативного индексированного пикселя
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Устанавливаем желтый цвет индексированного пикселя
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Устанавливаем синий цвет индексированного пикселя
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
// Применяем изменения пикселей к изображению
image.SavePixels(image.Bounds, pixels);
// сохранить все изменения.
image.Save();
}
// Запись MemoryStream в файл
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
Смотрите также
- struct Color
- struct Rectangle
- class RasterImage
- пространство имен Aspose.Imaging
- сборка Aspose.Imaging