Class RasterImage
Название пространства: Aspose.Imaging Ассоциация: Aspose.Imaging.dll (25.4.0)
Представляет изображение растера, поддерживающее графические операции растера.
public abstract class RasterImage : Image, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage
Derived
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata
Наследованные члены
Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Этот пример показывает, как загрузить информацию Pixel в Array of Type Color, манипулировать array и вернуть ее обратно к изображению. Для выполнения этих операций, этот пример создает новый файл Image (в формате GIF) uisng MemoryStream объект.
//Create an instance of MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Create an instance of GifOptions and set its various properties including the Source property
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Create an instance of Image
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Get the pixels of image by specifying the area as image boundary
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//Loop over the Array and sets color of alrenative indexed pixel
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Set the indexed pixel color to yellow
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Set the indexed pixel color to blue
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Apply the pixel changes to the image
image.SavePixels(image.Bounds, pixels);
// save all changes.
image.Save();
}
// Write MemoryStream to File
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
Constructors
RasterImage()
Инициализует новую инстанцию класса Aspose.Imaging.RasterImage.
[JsonConstructor]
protected RasterImage()
RasterImage(ICOLORПАЛЕТ)
Инициализует новую инстанцию класса Aspose.Imaging.RasterImage.
protected RasterImage(IColorPalette colorPalette)
Parameters
colorPalette
IColorPalette
Цветная палетка .
Fields
xmpData
Метаданты XMP
[JsonProperty]
protected XmpPacketWrapper xmpData
Полевая ценность
Properties
DataLoader
Получить или установить загрузку данных.
[JsonProperty]
protected IRasterImageArgb32PixelLoader DataLoader { get; set; }
Стоимость недвижимости
HasAlpha
Получается значение, указывающее, имеет ли эта инстанция альфа.
public virtual bool HasAlpha { get; }
Стоимость недвижимости
Examples
Следующий пример загружает растерные изображения и печатает информацию о формате сырых данных и альфа-канале.
// The image files to load.
string[] fileNames = new string[]
{
@"c:\temp\sample.bmp",
@"c:\temp\alpha.png",
};
foreach (string fileName in fileNames)
{
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(fileName))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
System.Console.WriteLine("ImageFile={0}, FileFormat={1}, HasAlpha={2}", fileName, rasterImage.RawDataFormat, rasterImage.HasAlpha);
}
}
// The output may look like this:
// ImageFile=c:\temp\sample.bmp, FileFormat=Rgb24Bpp, used channels: 8,8,8, HasAlpha=False
// ImageFile=c:\temp\alpha.png, FileFormat=RGBA32Bpp, used channels: 8,8,8,8, HasAlpha=True
Следующий пример показывает, как извлечь информацию о формате сырых данных и альфа-канале из изображения BMP.
// Create a 32-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 32, null))
{
System.Console.WriteLine("FileFormat={0}, RawDataFormat={1}, HasAlpha={2}", bmpImage.FileFormat, bmpImage.RawDataFormat, bmpImage.HasAlpha);
};
// Create a 24-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 24, null))
{
System.Console.WriteLine("FileFormat={0}, RawDataFormat={1}, HasAlpha={2}", bmpImage.FileFormat, bmpImage.RawDataFormat, bmpImage.HasAlpha);
};
// Generally, BMP doesn't support alpha channel so the output will look like this:
// FileFormat = Bmp, RawDataFormat = Rgb32Bpp, used channels: 8,8,8,8, HasAlpha = False
// FileFormat = Bmp, RawDataFormat = Rgb24Bpp, used channels: 8,8,8, HasAlpha = False
HasTransparentColor
Получается значение, указывающее, имеет ли изображение прозрачный цвет.
public virtual bool HasTransparentColor { get; set; }
Стоимость недвижимости
HorizontalResolution
Получает или устанавливает горизонтальное разрешение, в пикселях на дюйм, этого Aspose.Imaging.RasterImage.
public virtual double HorizontalResolution { get; set; }
Стоимость недвижимости
Examples
Следующий пример показывает, как настроить горизонтальное/вертикальное разрешение растерного изображения.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.jpg"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get horizontal and vertical resolution of the image
double horizontalResolution = rasterImage.HorizontalResolution;
double verticalResolution = rasterImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", horizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0)
{
// Use the SetResolution method for updating both resolution values in a single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
rasterImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", rasterImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", rasterImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 300
// The vertical resolution, in pixels per inch: 300
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96
// The vertical resolution, in pixels per inch: 96
}
Remarks
Примечание по умолчанию это значение всегда 96 так как разные платформы не могут вернуть резолюцию экрана. Вы можете рассмотреть использование метода SetResolution для обновления обоих значений резолюции в одном обращении.
ImageOpacity
Получается непереносимость этого изображения.
public virtual float ImageOpacity { get; }
Стоимость недвижимости
IsRawDataAvailable
Получается значение, указывающее, есть ли доступ к загрузке сырых данных.
public bool IsRawDataAvailable { get; }
Стоимость недвижимости
PremultiplyComponents
Получается или устанавливается значение, указывающее на то, должны ли компоненты изображения быть перемножены.
public virtual bool PremultiplyComponents { get; set; }
Стоимость недвижимости
Examples
Следующий пример создает новое изображение растера, сберегает указанные полупрозрачные пикселы, затем загружает эти піксели и получает конечные цвета в предварительно заполненной форме.
int imageWidth = 3;
int imageHeight = 2;
Aspose.Imaging.Color[] colors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.FromArgb(127, 255, 0, 0),
Aspose.Imaging.Color.FromArgb(127, 0, 255, 0),
Aspose.Imaging.Color.FromArgb(127, 0, 0, 255),
Aspose.Imaging.Color.FromArgb(127, 255, 255, 0),
Aspose.Imaging.Color.FromArgb(127, 255, 0, 255),
Aspose.Imaging.Color.FromArgb(127, 0, 255, 255),
};
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
createOptions.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.TruecolorWithAlpha;
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(createOptions, imageWidth, imageHeight))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Save pixels for the whole image.
rasterImage.SavePixels(rasterImage.Bounds, colors);
// The pixels are stored in the original image in the non-premultiplied form.
// Need to specify the corresponding option explicitly to obtain premultiplied color components.
// The premultiplied color components are calculated by the formulas:
// red = original_red * alpha / 255;
// green = original_green * alpha / 255;
// blue = original_blue * alpha / 255;
rasterImage.PremultiplyComponents = true;
Aspose.Imaging.Color[] premultipliedColors = rasterImage.LoadPixels(rasterImage.Bounds);
for (int i = 0; i < colors.Length; i++)
{
System.Console.WriteLine("Original color: {0}", colors[i].ToString());
System.Console.WriteLine("Premultiplied color: {0}", premultipliedColors[i].ToString());
}
}
RawCustomColorConverter
Получить или установить персонализированный цветный конвертер
public IColorConverter RawCustomColorConverter { get; set; }
Стоимость недвижимости
RawDataFormat
Получается сырой формат данных.
public virtual PixelDataFormat RawDataFormat { get; }
Стоимость недвижимости
Examples
Следующий пример загружает растерные изображения и печатает информацию о формате сырых данных и альфа-канале.
// The image files to load.
string[] fileNames = new string[]
{
@"c:\temp\sample.bmp",
@"c:\temp\alpha.png",
};
foreach (string fileName in fileNames)
{
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(fileName))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
System.Console.WriteLine("ImageFile={0}, FileFormat={1}, HasAlpha={2}", fileName, rasterImage.RawDataFormat, rasterImage.HasAlpha);
}
}
// The output may look like this:
// ImageFile=c:\temp\sample.bmp, FileFormat=Rgb24Bpp, used channels: 8,8,8, HasAlpha=False
// ImageFile=c:\temp\alpha.png, FileFormat=RGBA32Bpp, used channels: 8,8,8,8, HasAlpha=True
Этот пример показывает, как загрузить изображение DJVU из потока файлов и печатать информацию о страницах.
string dir = "c:\\temp\\";
// Load a DJVU image from a file stream.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.djvu"))
{
using (Aspose.Imaging.FileFormats.Djvu.DjvuImage djvuImage = new Aspose.Imaging.FileFormats.Djvu.DjvuImage(stream))
{
System.Console.WriteLine("The total number of pages: {0}", djvuImage.Pages.Length);
System.Console.WriteLine("The active page number: {0}", djvuImage.ActivePage.PageNumber);
System.Console.WriteLine("The first page number: {0}", djvuImage.FirstPage.PageNumber);
System.Console.WriteLine("The last page number: {0}", djvuImage.LastPage.PageNumber);
foreach (Aspose.Imaging.FileFormats.Djvu.DjvuPage djvuPage in djvuImage.Pages)
{
System.Console.WriteLine("--------------------------------------------------");
System.Console.WriteLine("Page number: {0}", djvuPage.PageNumber);
System.Console.WriteLine("Page size: {0}", djvuPage.Size);
System.Console.WriteLine("Page raw format: {0}", djvuPage.RawDataFormat);
}
}
}
//The output may look like this:
//The total number of pages: 2
//The active page number: 1
//The first page number: 1
//The last page number: 2
//--------------------------------------------------
//Page number: 1
//Page size: { Width = 2481, Height = 3508}
//Page raw format: RgbIndexed1Bpp, used channels: 1
//--------------------------------------------------
//Page number: 2
//Page size: { Width = 2481, Height = 3508}
//Page raw format: RgbIndexed1Bpp, used channels: 1
RawDataSettings
Примечание при использовании этих настроек данные загружаются без конверсии.
[JsonIgnore]
public RawDataSettings RawDataSettings { get; }
Стоимость недвижимости
RawFallbackIndex
Получает или устанавливает индекс падения для использования, когда индекс палиты находится за пределы
public int RawFallbackIndex { get; set; }
Стоимость недвижимости
RawIndexedColorConverter
Получить или установить индексированный цветный конвертер
public IIndexedColorConverter RawIndexedColorConverter { get; set; }
Стоимость недвижимости
RawLineSize
Получается размер сырой линии в байтах.
public virtual int RawLineSize { get; }
Стоимость недвижимости
TransparentColor
Получает изображение прозрачного цвета.
public virtual Color TransparentColor { get; set; }
Стоимость недвижимости
UpdateXmpData
Получается или устанавливается значение, указывающее, надо ли обновлять метаданные XMP.
public virtual bool UpdateXmpData { get; set; }
Стоимость недвижимости
UsePalette
Получается значение, указывающее, используется ли палетка изображения.
public override bool UsePalette { get; }
Стоимость недвижимости
UseRawData
Получается или устанавливается значение, указывающее, следует ли использовать груз сырых данных, когда груз сырых данных доступен.
public virtual bool UseRawData { get; set; }
Стоимость недвижимости
VerticalResolution
Получает или устанавливает вертикальное разрешение, в пикселях на дюйм, этого Aspose.Imaging.RasterImage.
public virtual double VerticalResolution { get; set; }
Стоимость недвижимости
Examples
Следующий пример показывает, как настроить горизонтальное/вертикальное разрешение растерного изображения.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.jpg"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get horizontal and vertical resolution of the image
double horizontalResolution = rasterImage.HorizontalResolution;
double verticalResolution = rasterImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", horizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0)
{
// Use the SetResolution method for updating both resolution values in a single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
rasterImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", rasterImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", rasterImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 300
// The vertical resolution, in pixels per inch: 300
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96
// The vertical resolution, in pixels per inch: 96
}
Remarks
Примечание по умолчанию это значение всегда 96 так как разные платформы не могут вернуть резолюцию экрана. Вы можете рассмотреть использование метода SetResolution для обновления обоих значений резолюции в одном обращении.
XmpData
Получить или установить метаданные XMP.
public virtual XmpPacketWrapper XmpData { get; set; }
Стоимость недвижимости
Methods
AdjustBrightness(ИНТ)
Приспособление яркости для изображения.
public virtual void AdjustBrightness(int brightness)
Parameters
brightness
int
Значение яркости .
Examples
Следующий пример выполняет коррекцию яркости изображения.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Set the brightness value. The accepted values of brightness are in the range [-255, 255].
rasterImage.AdjustBrightness(50);
rasterImage.Save(dir + "sample.AdjustBrightness.png");
}
AdjustContrast(Флота)
Контраст изображения
public virtual void AdjustContrast(float contrast)
Parameters
contrast
float
Контрастная стоимость (в диапазоне [-100; 100])
Examples
Следующий пример выполняет контрастную коррекцию изображения.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
rasterImage.AdjustContrast(50);
rasterImage.Save(dir + "sample.AdjustContrast.png");
}
AdjustGamma(флота, флота и флота)
Гамма коррекция изображения.
public virtual void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Гама для коэффициента красного канала
gammaGreen
float
Гама для коэффициента зеленого канала
gammaBlue
float
Гама для коэффициента синего канала
Examples
Следующий пример выполняет гамма-коррекцию изображения, применяя различные коефициенты для цветовых компонентов.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Set individual gamma coefficients for red, green and blue channels.
rasterImage.AdjustGamma(1.5f, 2.5f, 3.5f);
rasterImage.Save(dir + "sample.AdjustGamma.png");
}
AdjustGamma(Флота)
Гамма коррекция изображения.
public virtual void AdjustGamma(float gamma)
Parameters
gamma
float
Коэффициент гаммы для красных, зеленых и синих каналов
Examples
Следующий пример выполняет гамма-коррекцию изображения.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Set gamma coefficient for red, green and blue channels.
rasterImage.AdjustGamma(2.5f);
rasterImage.Save(dir + "sample.AdjustGamma.png");
}
BinarizeBradley(Двойная)
Бинаризация изображения с использованием алгоритма адаптивной границы Брэдли с использованием интегральной границы изображения
public virtual void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Разница яркости между пикселем и средним окном с x с пикселей, сосредоточенных вокруг этого пикселя.
BinarizeBradley(Двойная, int)
Бинаризация изображения с использованием алгоритма адаптивной границы Брэдли с использованием интегральной границы изображения
public virtual void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Разница яркости между пикселем и средним окном с x с пикселей, сосредоточенных вокруг этого пикселя.
windowSize
int
Размер окна x с пикселей, сосредоточенных вокруг этого пикселя
Examples
Следующий пример бинарнизирует изображение растера с адаптивным алгоритмом бренда Брэдли с указанным размером окна.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Binarize the image with a brightness difference of 5. The brightness is a difference between a pixel and the average of an 10 x 10 window of pixels centered around this pixel.
rasterImage.BinarizeBradley(5, 10);
rasterImage.Save(dir + "sample.BinarizeBradley5_10x10.png");
}
BinarizeFixed(byte)
Бинаризация изображения с заранее определенным лимитом
public virtual void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Если соответствующая серная стоимость пикселя превышает границу, то ему будет присвоено значение 255 или 0 иначе.
Examples
Следующий пример бинарнизирует изображение растер с заранее определенным лимитом. Бинарные изображения содержат только 2 цвета - черный и белый.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Binarize the image with a threshold value of 127.
// If a corresponding gray value of a pixel is greater than 127, a value of 255 will be assigned to it, 0 otherwise.
rasterImage.BinarizeFixed(127);
rasterImage.Save(dir + "sample.BinarizeFixed.png");
}
BinarizeOtsu()
Бинаризация изображения с Otsu thresholding
public virtual void BinarizeOtsu()
Examples
Следующий пример бинарнизирует растерную картину с Оцу границей. Бинарные изображения содержат только 2 цвета - черный и белый.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Binarize the image with Otsu thresholding.
rasterImage.BinarizeOtsu();
rasterImage.Save(dir + "sample.BinarizeOtsu.png");
}
Blend(Точка, RasterImage, Rectangle, байт)
Смешайте этот образ с изображением overlay".
public virtual void Blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha = 255)
Parameters
origin
Point
Изображение на фоне смешанного происхождения.
overlay
RasterImage
Изображение Overlay.
overlayArea
Rectangle
Область перегрузки .
overlayAlpha
byte
Сверхъестественный альфа
Blend(Точка, RasterImage, байт)
Смешайте этот образ с изображением overlay".
public void Blend(Point origin, RasterImage overlay, byte overlayAlpha = 255)
Parameters
origin
Point
Изображение на фоне смешанного происхождения.
overlay
RasterImage
Изображение Overlay.
overlayAlpha
byte
Сверхъестественный альфа
Dither(Использование метода, инт)
Выступает на текущем изображении.
public void Dither(DitheringMethod ditheringMethod, int bitsCount)
Parameters
ditheringMethod
DitheringMethod
Метод дифференциации .
bitsCount
int
Последние биты рассчитывают на дитирование.
Examples
Следующий пример загружает изображение растера и выполняет лимит и потолое дитирование с использованием разных глубины палиты.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Perform threshold dithering using 4-bit color palette which contains 16 colors.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
rasterImage.Dither(Aspose.Imaging.DitheringMethod.ThresholdDithering, 4);
rasterImage.Save(dir + "sample.ThresholdDithering4.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Perform floyd dithering using 1-bit color palette which contains only 2 colors - black and white.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
rasterImage.Dither(Aspose.Imaging.DitheringMethod.FloydSteinbergDithering, 1);
rasterImage.Save(dir + "sample.FloydSteinbergDithering1.png");
}
Dither(ДитарингМетод, int, IColorPalette)
Выступает на текущем изображении.
public abstract void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Метод дифференциации .
bitsCount
int
Последние биты рассчитывают на дитирование.
customPalette
IColorPalette
Космическая палитра для дитирования.
Filter(Оригинальное название: FilterOptionsBase)
Фильтровывает указанный прямоугольник.
public virtual void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
На правой стороне.
options
FilterOptionsBase
и вариантов .
Examples
Следующий пример применяет различные типы фильтров к изображению растер.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a median filter with a rectangle size of 5 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
rasterImage.Save(dir + "sample.MedianFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
rasterImage.Save(dir + "sample.BilateralSmoothingFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
rasterImage.Save(dir + "sample.GaussianBlurFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
rasterImage.Save(dir + "sample.GaussWienerFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a motion wiener filter with a length of 5, a smooth value of 4.0 and an angle of 90.0 degrees to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
rasterImage.Save(dir + "sample.MotionWienerFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
rasterImage.Save(dir + "sample.SharpenFilter.png");
}
GetArgb32Pixel(Инт, Инт)
Получается изображение 32-битным ARGB пикселем.
public int GetArgb32Pixel(int x, int y)
Parameters
x
int
местоположение пикселя x.
y
int
Пиксель и местоположение.
Returns
32-битный ARGB-пиксель для указанного расположения.
Examples
Следующий пример загружает изображение растера и получает цвет произвольного пикселя, представленного в качестве 32-битной целой стоимости.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get an integer representation of the color of the top-left pixel of the image.
int color = rasterImage.GetArgb32Pixel(0, 0);
// To obtain the values of the individual color components, shift the color value by a corresponding number of bits
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);
}
Следующий пример показывает, как caching изображения влияет на производительность.В общем случае, чтение кеш-данных выполняется быстрее, чем чтения не-кашированных данных.
string dir = "c:\\temp\\";
// Load an image from a PNG file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
// Cache all pixel data so that no additional data loading will be performed from the underlying data stream
image.CacheData();
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Reading all pixels is pretty fast.
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);
}
// Load an image from a PNG file
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Reading all pixels is not as fast as when caching
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);
}
// The output may look like this:
// Reading all cached pixels took 1500 ms.
// Reading all pixels without preliminary caching took 150000 ms.
GetDefaultArgb32Pixels(Rectangle)
Получается стандартный 32-битный ARGB-пиксельный диапазон.
public int[] GetDefaultArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Прямой угол для получения пикселей.
Returns
int [ ]
По умолчанию pixels array.
GetDefaultPixels(Ректанг, IPartialArgb32PixelLoader)
Получается, что стандартные пикселы распределяются с использованием частичного пиксельного заряда.
public void GetDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
Прямой угол для получения пикселей.
partialPixelLoader
IPartialArgb32PixelLoader
Частичный пиксельный зарядчик.
GetDefaultRawData(Ректанг, IPartialRawDataLoader, RawDataSettings)
Получается стандартная суровая схема данных с использованием частичного пиксельного заряда.
public void GetDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
Прямой угол для получения пикселей.
partialRawDataLoader
IPartialRawDataLoader
Частичный грузовик грузовых данных.
rawDataSettings
RawDataSettings
Настройки сырых данных.
GetDefaultRawData(Ректанг, RawDataSettings)
Получается стандартная суровая база данных.
public byte[] GetDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
Прямой угол для получения сырых данных.
rawDataSettings
RawDataSettings
Настройки сырых данных.
Returns
byte [ ]
Стандартные суровые данные.
GetModifyDate(Боол)
Получается дата и время последней модификации изображения ресурса.
public virtual DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Если вы настроены на «истинные», используйте информацию из FileInfo в качестве предпочтительной стоимости.
Returns
Дата и время последней модификации изображения ресурса.
GetPixel(Инт, Инт)
Получается изображение пикселя.
public Color GetPixel(int x, int y)
Parameters
x
int
местоположение пикселя x.
y
int
Пиксель и местоположение.
Returns
Пиксельный цвет для указанного места.
Examples
Следующий пример загружает растерную картину и получает цвет произвольного пикселя.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get the color of the top-left pixel of the image.
Color color = rasterImage.GetPixel(0, 0);
// Obtain the values of the individual color components
byte alpha = color.A;
byte red = color.R;
int green = color.G;
int blue = color.B;
System.Console.WriteLine("The color of the pixel(0,0) is A={0},R={1},G={2},B={3}", alpha, red, green, blue);
}
GetSkewAngle()
Получается угол скея.Этот метод применяется к скенированным текстовым документам, чтобы определить угол скенирования при скенировании.
public float GetSkewAngle()
Returns
Угол скважины, в степени.
Grayscale()
Трансформация изображения в его грейскальное представление
public virtual void Grayscale()
Examples
Следующий пример преобразует цветную растерную картину в ее грейско-скалевое представление. Грейское изображение состоит исключительно из теней серых и носит только интенсивную информацию.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
rasterImage.Grayscale();
rasterImage.Save(dir + "sample.Grayscale.png");
}
LoadArgb32Pixels(Rectangle)
Загрузка 32-битных ARGB пикселей.
public int[] LoadArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Прямой угол для загрузки пикселей.
Returns
int [ ]
Загруженный 32-битный ARGB пиксельный диапазон.
Examples
Следующий пример показывает, как загружать и обрабатывать пиксели растерного изображения.Пикселы представлены как 32-битные целостные значения.Например, рассмотрим проблему счёта полностью прозрачных пікселей изображений.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Load pixels for the whole image. Any rectangular part of the image can be specified as a parameter of the Aspose.Imaging.RasterImage.LoadArgb32Pixels method.
int[] pixels = rasterImage.LoadArgb32Pixels(rasterImage.Bounds);
int count = 0;
foreach (int pixel in pixels)
{
int alpha = (pixel >> 24) & 0xff;
if (alpha == 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);
}
LoadArgb64Pixels(Rectangle)
Загрузка 64-битных ARGB пикселей.
public long[] LoadArgb64Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Прямой угол для загрузки пикселей.
Returns
long [ ]
Загруженный 64-битный ARGB пиксельный диапазон.
Examples
Следующий пример показывает, как загружать и обрабатывать пиксели растерного изображения.Пикселы представлены как 64-битные целостные значения.Например, рассмотрим проблему счёта полностью прозрачных пікселей изображений.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\16rgba.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Load pixels for the whole image. Any rectangular part of the image can be specified as a parameter of the Aspose.Imaging.RasterImage.LoadArgb64Pixels method.
// Note that the image itself must have 16 bits per sample, because Aspose.Imaging.RasterImage.LoadArgb64Pixels doesn't work with 8 bit per sample.
// In order to work with 8 bits per sample please use the good old Aspose.Imaging.RasterImage.LoadArgb32Pixels method.
long[] pixels = rasterImage.LoadArgb64Pixels(rasterImage.Bounds);
int count = 0;
foreach (int pixel in pixels)
{
// Note that all color components including alpha are represented by 16-bit values, so their allowed values are in the range [0, 63535].
int alpha = (pixel >> 48) & 0xffff;
if (alpha == 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);
}
LoadCmyk32Pixels(Rectangle)
Загрузка пикселей в формате CMYK.
public int[] LoadCmyk32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Прямой угол для загрузки пикселей.
Returns
int [ ]
Загруженные CMYK пикселы присутствуют в качестве 32-битных инатегерных значений.
LoadCmykPixels(Rectangle)
Загрузка пикселей в формате CMYK.Пожалуйста, используйте более эффективный метод Aspose.Imaging.RasterImage.LoadCmyk32Pixels(W L 17 .Rectangle).
[Obsolete("Method is obsolete")]
public CmykColor[] LoadCmykPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Прямой угол для загрузки пикселей.
Returns
CmykColor [ ]
Загруженные CMYK пиксели распределяются.
LoadPartialArgb32Pixels(Ректанг, IPartialArgb32PixelLoader)
32-битный ARGB-пиксель частично загружается пакетами.
public void LoadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
желаемого прямоугольника.
partialPixelLoader
IPartialArgb32PixelLoader
32-битный ARGB пиксельный зарядчик.
Examples
Следующий пример показывает, как загружать и обрабатывать пикселы растер-изображения с помощью собственного частичного процессора. Например, рассмотрим проблему счёта полностью прозрачных пікселей изображения. Для того, чтобы вычислить транспарентные Пиксели с использованием механизма частичной загрузки, вводится отдельный класс TransparentArgb32PixelCounter реализуя Aspose.Imaging.IPartialArGB32Пиксельный загрузчик.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Create an instance of the Aspose.Imaging.IPartialArgb32PixelLoader and pass it to the Aspose.Imaging.RasterImage.LoadPartialArgb32Pixels
TransparentArgb32PixelCounter counter = new TransparentArgb32PixelCounter();
// Load pixels for the whole image. Any rectangular part of the image can be specified as the first parameter of the Aspose.Imaging.RasterImage.LoadPartialArgb32Pixels method.
rasterImage.LoadPartialArgb32Pixels(rasterImage.Bounds, counter);
System.Console.WriteLine("The number of fully transparent pixels is {0}", counter.Count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
// The counter may look like this:
/// <summary>
/// Counts the number of fully transparent pixels with alpha channel value of 0.
/// </summary>
private class TransparentArgb32PixelCounter : IPartialArgb32PixelLoader
{
/// <summary>
/// The number of fully transparent pixels.
/// </summary>
private int count;
/// <summary>
/// Gets the number of fully transparent pixels.
/// </summary>
public int Count
{
get { return this.count; }
}
/// <summary>
/// Processes the loaded pixels. This method is called back every time when a new portion of pixels is loaded.
/// </summary>
/// <param name="pixelsRectangle"/>The pixels rectangle.
/// <param name="pixels"/>The 32-bit ARGB pixels.
/// <param name="start"/>The start pixels point.
/// <param name="end"/>The end pixels point.
public void Process(Aspose.Imaging.Rectangle pixelsRectangle, int[] pixels, Aspose.Imaging.Point start, Aspose.Imaging.Point end)
{
foreach (int pixel in pixels)
{
int alpha = (pixel >> 24) & 0xff;
if (alpha == 0)
{
this.count++;
}
}
}
}
LoadPartialArgb64Pixels(Ректанг, IPartialArgb64PixelLoader)
Загрузка 64-битных ARGB пикселей частично по пакетам.
public void LoadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
желаемого прямоугольника.
partialPixelLoader
IPartialArgb64PixelLoader
64-битный ARGB пиксельный зарядчик.
LoadPartialPixels(Ректанг, IPartialPixelLoader)
Загрузка пикселей частично по пакетам.
public void LoadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)
Parameters
desiredRectangle
Rectangle
желаемого прямоугольника.
pixelLoader
IPartialPixelLoader
Пиксельный зарядчик.
Examples
Следующий пример показывает, как загружать и обрабатывать пикселы растерного изображения с использованием собственного частичного процессора. Например, рассмотрим проблему счёта полностью прозрачных пікселей изображений. Для того, чтобы рассчитывать транспарентно, используя частичный механизм загрузки, вводится отдельный класс TransparentPixelCounter, внедряющий Aspose.Imaging.IPartialPixelLoader.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Create an instance of the Aspose.Imaging.IPartialPixelLoader and pass it to the Aspose.Imaging.RasterImage.LoadPartialPixels
TransparentPixelCounter counter = new TransparentPixelCounter();
// Load pixels for the whole image. Any rectangular part of the image can be specified as the first parameter of the Aspose.Imaging.RasterImage.LoadPartialPixels method.
rasterImage.LoadPartialPixels(rasterImage.Bounds, counter);
System.Console.WriteLine("The number of fully transparent pixels is {0}", counter.Count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
// The counter may look like this:
/// <summary>
/// Counts the number of fully transparent pixels with alpha channel value of 0.
/// </summary>
private class TransparentPixelCounter : IPartialPixelLoader
{
/// <summary>
/// The number of fully transparent pixels.
/// </summary>
private int count;
/// <summary>
/// Gets the number of fully transparent pixels.
/// </summary>
public int Count
{
get { return this.count; }
}
/// <summary>
/// Processes the loaded pixels. This method is called back every time when a new portion of pixels is loaded.
/// </summary>
/// <param name="pixelsRectangle"/>The pixels rectangle.
/// <param name="pixels"/>The 32-bit ARGB pixels.
/// <param name="start"/>The start pixels point.
/// <param name="end"/>The end pixels point.
public void Process(Aspose.Imaging.Rectangle pixelsRectangle, Aspose.Imaging.Color[] pixels, Aspose.Imaging.Point start, Aspose.Imaging.Point end)
{
foreach (Color pixel in pixels)
{
if (pixel.A == 0)
{
this.count++;
}
}
}
}
LoadPixels(Rectangle)
Загрузка пикселей.
public Color[] LoadPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Прямой угол для загрузки пикселей.
Returns
Color [ ]
Загруженные пиксели распределяются.
Examples
Следующий пример показывает, как загружать и обрабатывать пикселы растерного изображения. например, рассмотрим проблему счёта полностью прозрачных пікселей изображений.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Load pixels for the whole image. Any rectangular part of the image can be specified as a parameter of the Aspose.Imaging.RasterImage.LoadPixels method.
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);
}
Этот пример показывает, как загрузить информацию Pixel в Array of Type Color, манипулировать array и вернуть ее обратно к изображению. Для выполнения этих операций, этот пример создает новый файл Image (в формате GIF) uisng MemoryStream объект.
//Create an instance of MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Create an instance of GifOptions and set its various properties including the Source property
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Create an instance of Image
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Get the pixels of image by specifying the area as image boundary
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//Loop over the Array and sets color of alrenative indexed pixel
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Set the indexed pixel color to yellow
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Set the indexed pixel color to blue
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Apply the pixel changes to the image
image.SavePixels(image.Bounds, pixels);
// save all changes.
image.Save();
}
// Write MemoryStream to File
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)
Загрузка сырых данных.
public void LoadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
Прямой угол для загрузки сырых данных.
rawDataSettings
RawDataSettings
Настройки сырых данных, которые используются для загруженных данных.Примечание, если данные не в указанном формате, то будет выполнена конверсия данных.
rawDataLoader
IPartialRawDataLoader
Загрузка сырых данных.
Examples
Следующий пример показывает, как извлечь пикселы из сырых данных изображения с помощью RawDataSettings. например, рассмотрим проблему счёта полностью прозрачных пікселей изображений.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\GrayscaleWithAlpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
Aspose.Imaging.RawDataSettings settings = rasterImage.RawDataSettings;
TransparentPixelRawDataCounter rawDataLoader = new TransparentPixelRawDataCounter(settings);
// Load pixels for the whole image. Any rectangular part of the image can be specified as a parameter of the Aspose.Imaging.RasterImage.LoadRawData method.
rasterImage.LoadRawData(rasterImage.Bounds, settings, rawDataLoader);
System.Console.WriteLine("The number of fully transparent pixels is {0}", rawDataLoader.Count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
// In case of raw data, the counter may look like this:
/// <summary>
/// Counts the number of fully transparent pixels with alpha channel value of 0.
/// </summary>
private class TransparentPixelRawDataCounter : IPartialRawDataLoader
{
/// <summary>
/// The number of fully transparent pixels.
/// </summary>
private int count;
/// <summary>
/// The raw data settings of the loaded image.
/// </summary>
private Aspose.Imaging.RawDataSettings rawDataSettings;
/// <summary>
/// Gets the number of fully transparent pixels.
/// </summary>
public int Count
{
get { return this.count; }
}
/// <summary>
/// Initializes a new instance of the <see transparentpixelrawdatacounter=""></see> class.
/// </summary>
/// <param name="settings"/>The raw data settings allow to extract color components from raw data.
public TransparentPixelRawDataCounter(Aspose.Imaging.RawDataSettings settings)
{
this.rawDataSettings = settings;
this.count = 0;
}
/// <summary>
/// Processes the loaded raw data. This method is called back every time when a new portion of raw data is loaded.
/// </summary>
/// <param name="dataRectangle"/>The raw data rectangle.
/// <param name="data"/>The raw data.
/// <param name="start"/>The start data point.
/// <param name="end"/>The end data point.
public void Process(Aspose.Imaging.Rectangle dataRectangle, byte[] data, Aspose.Imaging.Point start, Aspose.Imaging.Point end)
{
int[] channelBits = this.rawDataSettings.PixelDataFormat.ChannelBits;
// Only simple formats are consdired here to simplify the code.
// Let's consider only images with 8 bits per sample.
for (int i = 0; i < channelBits.Length; i++)
{
if (channelBits[i] != 8)
{
throw new System.NotSupportedException();
}
}
switch (this.rawDataSettings.PixelDataFormat.PixelFormat)
{
case PixelFormat.Rgb:
case PixelFormat.Bgr:
{
if (channelBits.Length == 4)
{
// ARGB
for (int i = 0; i < data.Length; i += 4)
{
// The alpha channel is stored last, after the color components.
if (data[i + 3] == 0)
{
this.count++;
}
}
}
}
break;
case PixelFormat.Grayscale:
{
if (channelBits.Length == 2)
{
// Grayscale Alpha
for (int i = 0; i < data.Length; i += 2)
{
// The alpha channel is stored last, after the color components.
if (data[i + 1] == 0)
{
this.count++;
}
}
}
}
break;
default:
throw new System.ArgumentOutOfRangeException("PixelFormat");
}
}
/// <summary>
/// Processes the loaded raw data. This method is called back every time when a new portion of raw data is loaded.
/// </summary>
/// <param name="dataRectangle"/>The raw data rectangle.
/// <param name="data"/>The raw data.
/// <param name="start"/>The start data point.
/// <param name="end"/>The end data point.
/// <param name="loadOptions"/>The load options.
public void Process(Aspose.Imaging.Rectangle dataRectangle, byte[] data, Aspose.Imaging.Point start, Aspose.Imaging.Point end, Aspose.Imaging.LoadOptions loadOptions)
{
this.Process(dataRectangle, data, start, end);
}
}
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)
Загрузка сырых данных.
public void LoadRawData(Rectangle rectangle, Rectangle destImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
Прямой угол для загрузки сырых данных.
destImageBounds
Rectangle
Изображение ограничивается.
rawDataSettings
RawDataSettings
Настройки сырых данных, которые используются для загруженных данных.Примечание, если данные не в указанном формате, то будет выполнена конверсия данных.
rawDataLoader
IPartialRawDataLoader
Загрузка сырых данных.
NormalizeAngle()
нормализует угол.Этот метод применяется к сканированным текстовым документам, чтобы избавиться от сканированного сканирования.Данный метод использует методы Aspose.Imaging.RasterImage.GetSkewAngle и W L17.
public void NormalizeAngle()
NormalizeAngle(Боол, Цвет)
нормализует угол.Этот метод применяется к сканированным текстовым документам, чтобы избавиться от сканированного сканирования.Данный метод использует методы Aspose.Imaging.RasterImage.GetSkewAngle и W L 17. Raster Image .Rotate(System.Single, System.Boolean,__W WL 17 _.Color).
public virtual void NormalizeAngle(bool resizeProportionally, Color backgroundColor)
Parameters
resizeProportionally
bool
Если вы настроены на «истинный», размер изображения изменится в соответствии с оборотными прямоугольными (угольными точками) проекциями в другом случае, что оставляет измерения без доступа и только внутренний контент изображения оборот.
backgroundColor
Color
Цвет на фоне.
Examples
Skew - это артефакт, который может появиться во время процесса сканирования документов, когда текст/изображения документа вращаются в легком угле. Он может иметь различные причины, но наиболее распространенным является то, что бумага ошибочно размещается во времена сканира. Поэтому, дескев - процесс обнаружения и исправления этой проблемы на скенированных файлах (т.е. битмапе), так что десквированные документы будут иметь текст / изображения правильно и горизонтально корректированы.
string dir = "c:\\aspose.imaging\\issues\\net\\3567\\";
string inputFilePath = dir + "skewed.png";
string outputFilePath = dir + "skewed.out.png";
// Get rid of the skewed scan with default parameters
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Load(inputFilePath))
{
// Deskew
image.NormalizeAngle(false /*do not resize*/, Aspose.Imaging.Color.LightGray /*background color*/);
image.Save(outputFilePath);
}
NormalizeHistogram()
Нормализует гистограмму изображения — корректирует пиксельные значения для использования всех имеющихся диапазонов.
public virtual void NormalizeHistogram()
ReadArgb32ScanLine(ИНТ)
Читает целую строку сканирования по указанию индекса строки сканирования.
public int[] ReadArgb32ScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
Индекс нулевой линии сканирования.
Returns
int [ ]
Сканируемая линия 32-битных цветовых значений ARGB.
ReadScanLine(ИНТ)
Читает целую строку сканирования по указанию индекса строки сканирования.
public Color[] ReadScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
Индекс нулевой линии сканирования.
Returns
Color [ ]
Скенируемая линия пикселей имеет цветные значения.
ReleaseManagedResources()
Убедитесь, что не управляемые ресурсы не выпускаются здесь, так как они могут быть уже выпущены.
protected override void ReleaseManagedResources()
RemoveMetadata()
Удаляется метаданные примера изображения, устанавливая эту ценность Aspose.Imaging.Xmp.IHasXMPData. нуль.
public override void RemoveMetadata()
ReplaceColor(Цвет, байт, цвет)
Заменяет один цвет на другой с разрешенным различием и сохраняет оригинальную алфа-цену для сохранения гладких краев.
public void ReplaceColor(Color oldColor, byte oldColorDiff, Color newColor)
Parameters
oldColor
Color
Старый цвет должен быть заменен.
oldColorDiff
byte
Различия в старом цвете позволяют расширять замененный цветный тон.
newColor
Color
Новый цвет заменит старый цвет.
ReplaceColor(Итак, итак, итак)
Заменяет один цвет на другой с разрешенным различием и сохраняет оригинальную алфа-цену для сохранения гладких краев.
public virtual void ReplaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)
Parameters
oldColorArgb
int
Старый цвет ARGB должен быть заменен.
oldColorDiff
byte
Различия в старом цвете позволяют расширять замененный цветный тон.
newColorArgb
int
Новый цвет ARGB для замены старого цвета.
ReplaceNonTransparentColors(Color)
Заменяет все непрозрачные цвета новым цветом и сохраняет оригинальную ценность альфа для сохранения гладких краев.Примечание: если вы используете его на изображениях без прозрачности, все цвета будут заменены одним.
public void ReplaceNonTransparentColors(Color newColor)
Parameters
newColor
Color
Новый цвет заменит непрозрачными цветами.
ReplaceNonTransparentColors(ИНТ)
Заменяет все непрозрачные цвета новым цветом и сохраняет оригинальную ценность альфа для сохранения гладких краев.Примечание: если вы используете его на изображениях без прозрачности, все цвета будут заменены одним.
public virtual void ReplaceNonTransparentColors(int newColorArgb)
Parameters
newColorArgb
int
Новый цвет ARGB для замены непрозрачных цветов.
Resize(int, int, ImageResizeНастройки)
Рециркулирует изображение с расширенными опциями.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Новая ширина .
newHeight
int
Новая высота .
settings
ImageResizeSettings
Рецидивные настройки .
Examples
Этот пример загружает изображение растера и воспроизводит его с помощью различных настроек восстановления.
string dir = "c:\\temp\\";
Aspose.Imaging.ImageResizeSettings resizeSettings = new Aspose.Imaging.ImageResizeSettings();
// The adaptive algorithm based on weighted and blended rational function and lanczos3 interpolation.
resizeSettings.Mode = Aspose.Imaging.ResizeType.AdaptiveResample;
// The small rectangular filter
resizeSettings.FilterType = Aspose.Imaging.ImageFilterType.SmallRectangular;
// The number of colors in the palette.
resizeSettings.EntriesCount = 256;
// The color quantization is not used
resizeSettings.ColorQuantizationMethod = ColorQuantizationMethod.None;
// The euclidian method
resizeSettings.ColorCompareMethod = ColorCompareMethod.Euclidian;
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale down by 2 times using adaptive resampling.
image.Resize(image.Width / 2, image.Height / 2, resizeSettings);
image.Save(dir + "downsample.adaptive.gif");
}
Rotate(Флоат, Боол, Цвет)
Окружите изображение вокруг центра.
public virtual void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Угол поворота в градусах.Позитивные значения будут поворачиваться по часам.
resizeProportionally
bool
Если вы настроены на «истинный», размер изображения изменится в соответствии с оборотными прямоугольными (угольными точками) проекциями в другом случае, что оставляет измерения без доступа и только внутренний контент изображения оборот.
backgroundColor
Color
Цвет на фоне.
Exceptions
Не реализованное исключение
Rotate(Флота)
Окружите изображение вокруг центра.
public override void Rotate(float angle)
Parameters
angle
float
Угол поворота в градусах.Позитивные значения будут поворачиваться по часам.
Save(Поток, ImageOptionsBase, Rectangle)
Сохранить данные изображения в указанный поток в указанном формате файла в соответствии с возможностями сохранения.
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
Поток для сохранения данных изображения.
optionsBase
ImageOptionsBase
Сбережение вариантов.
boundsRectangle
Rectangle
Изображение назначения ограничивает прямоуголь. Настроить пустой прямоуголь для использования источника границ.
SaveArgb32Pixels(Ректоуголь, int[])
Сохранить 32-битные ARGB пиксели.
public void SaveArgb32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
Прямой угол для сохранения пикселей.
pixels
int
[ ]
32-битные ARGB пиксели.
Examples
Следующий пример заполняет центральную площадь растерного изображения черными пикселями, используя метод Aspose.Imaging.RasterImage.SaveArgb32Pixels.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// The black square
int[] pixels = new int[(rasterImage.Width / 2) * (rasterImage.Height / 2)];
for (int i = 0; i < pixels.Length; i++)
{
pixels[i] = Color.Black.ToArgb();
}
// Draw the black square at the center of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(rasterImage.Width / 4, rasterImage.Height / 4, rasterImage.Width / 2, rasterImage.Height / 2);
rasterImage.SaveArgb32Pixels(area, pixels);
rasterImage.Save(dir + "sample.SaveArgb32Pixels.png");
}
SaveCmyk32Pixels(Ректоуголь, int[])
Сохранить пикселы.
public void SaveCmyk32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
Прямой угол для сохранения пикселей.
pixels
int
[ ]
Пиксели CMYK представлены как 32-битные целостные значения.
Examples
Следующий пример заполняет центральную площадь растерного изображения черными пикселями с помощью метода Aspose.Imaging.RasterImage.SaveCmyk32Pixels.
string dir = @"c:\temp\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get an integer representation of black in the CMYK color space.
int blackCmyk = Aspose.Imaging.CmykColorHelper.ToCmyk(Color.Black);
// The black square.
int[] pixels = new int[(rasterImage.Width / 2) * (rasterImage.Height / 2)];
for (int i = 0; i < pixels.Length; i++)
{
pixels[i] = blackCmyk;
}
// Draw the black square at the center of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(rasterImage.Width / 4, rasterImage.Height / 4, rasterImage.Width / 2, rasterImage.Height / 2);
rasterImage.SaveCmyk32Pixels(area, pixels);
rasterImage.Save(dir + "sample.SaveCmyk32Pixels.png");
}
SaveCmykPixels(Ректанг, CmykColor[])
Сохранить пикселы.Пожалуйста, используйте более эффективный метод Aspose.Imaging.RasterImage.SaveCmyk32Pixels(W L 17 .Rectangle,System.Int32[]).
[Obsolete("Method is obsolete")]
public void SaveCmykPixels(Rectangle rectangle, CmykColor[] pixels)
Parameters
rectangle
Rectangle
Прямой угол для сохранения пикселей.
pixels
CmykColor
[ ]
CMYK пиксели распределяются.
SavePixels(Ректоуголь, цвет[])
Сохранить пикселы.
public void SavePixels(Rectangle rectangle, Color[] pixels)
Parameters
rectangle
Rectangle
Прямой угол для сохранения пикселей.
pixels
Color
[ ]
ПИКСЕЛ ВЫРЫВАЕТ.
Examples
Следующий пример заполняет центральный участок растерного изображения черными пикселями с помощью метода Aspose.Imaging.RasterImage.SavePixels.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// The black square
Color[] pixels = new Color[(rasterImage.Width / 2) * (rasterImage.Height / 2)];
for (int i = 0; i < pixels.Length; i++)
{
pixels[i] = Color.Black;
}
// Draw the black square at the center of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(rasterImage.Width / 4, rasterImage.Height / 4, rasterImage.Width / 2, rasterImage.Height / 2);
rasterImage.SavePixels(area, pixels);
rasterImage.Save(dir + "sample.SavePixels.png");
}
Этот пример показывает, как загрузить информацию Pixel в Array of Type Color, манипулировать array и вернуть ее обратно к изображению. Для выполнения этих операций, этот пример создает новый файл Image (в формате GIF) uisng MemoryStream объект.
//Create an instance of MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Create an instance of GifOptions and set its various properties including the Source property
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Create an instance of Image
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Get the pixels of image by specifying the area as image boundary
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//Loop over the Array and sets color of alrenative indexed pixel
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Set the indexed pixel color to yellow
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Set the indexed pixel color to blue
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Apply the pixel changes to the image
image.SavePixels(image.Bounds, pixels);
// save all changes.
image.Save();
}
// Write MemoryStream to File
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
SaveRawData(byte[ ], int, Rectangle, RawDataSettings)
Сохранить сырые данные.
public void SaveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
data
byte
[ ]
и сырых данных.
dataOffset
int
Начальные сырые данные компенсируются.
rectangle
Rectangle
Суровые данные прямоуголью.
rawDataSettings
RawDataSettings
Суровые данные устанавливают данные, которые находятся в них.
SetArgb32Pixel(Инт, Инт, Инт)
Настройка изображения 32-битным ARGB-пикселем для указанного положения.
public void SetArgb32Pixel(int x, int y, int argb32Color)
Parameters
x
int
местоположение пикселя x.
y
int
Пиксель и местоположение.
argb32Color
int
32-битный ARGB-пиксель для указанной позиции.
Examples
Следующий пример загружает растерную картину и устанавливает цвет произвольного пикселя.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Sets the color of the top-left pixel.
rasterImage.SetArgb32Pixel(0, 0, Aspose.Imaging.Color.Aqua.ToArgb());
// Another way is to pass an instance of the Aspose.Imaging.Color directly
rasterImage.SetPixel(0, 0, Aspose.Imaging.Color.Aqua);
}
SetPalette(Иосиф Палет, Боол)
Сделайте палету изображения.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Палеты для установки.
updateColors
bool
Если настроены на “истинные” цвета будут обновлены в соответствии с новым палетом; в противном случае индексы цвета остаются неизменными. Обратите внимание, что неизменные индексы могут разрушить изображение на загрузке, если некоторые индексы не имеют соответствующих палетных входов.
SetPixel(int, int, цвет)
Настроить пиксель изображения для указанного положения.
public void SetPixel(int x, int y, Color color)
Parameters
x
int
местоположение пикселя x.
y
int
Пиксель и местоположение.
color
Color
Пиксельный цвет для указанного положения.
Examples
Следующий пример загружает растерную картину и устанавливает цвет произвольного пикселя.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Sets the color of the top-left pixel.
rasterImage.SetArgb32Pixel(0, 0, Aspose.Imaging.Color.Aqua.ToArgb());
// Another way is to pass an instance of the Aspose.Imaging.Color directly
rasterImage.SetPixel(0, 0, Aspose.Imaging.Color.Aqua);
}
SetResolution(двойной, двойной)
Установите резолюцию для этого Aspose.Imaging.RasterImage.
public virtual void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
Горизонтальное разрешение, в точках на дюйм, Aspose.Imaging.RasterImage.
dpiY
double
Вертикальное разрешение, в точках на дюйм, Aspose.Imaging.RasterImage.
Examples
Следующий пример показывает, как настроить горизонтальное/вертикальное разрешение растерного изображения.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.jpg"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get horizontal and vertical resolution of the image
double horizontalResolution = rasterImage.HorizontalResolution;
double verticalResolution = rasterImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", horizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0)
{
// Use the SetResolution method for updating both resolution values in a single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
rasterImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", rasterImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", rasterImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 300
// The vertical resolution, in pixels per inch: 300
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96
// The vertical resolution, in pixels per inch: 96
}
ToBitmap()
Конвертирует изображение растера в битмап.Этот метод не поддерживается в версиях .Net7.0 и выше.
public virtual Bitmap ToBitmap()
Returns
Битмап
UpdateDimensions(Инт, Инт)
Обновление размеров изображения.
protected abstract void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Новое изображение ширины.
newHeight
int
Высота нового изображения.
UpdateMetadata()
Обновление метаданных изображения.
protected virtual void UpdateMetadata()
WriteArgb32ScanLine(Инт, Инт[])
Напишите всю строку сканирования на указанный индекс строки сканирования.
public void WriteArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)
Parameters
scanLineIndex
int
Индекс нулевой линии сканирования.
argb32Pixels
int
[ ]
32-битные цвета ARGB подходят для написания.
WriteScanLine(Инт, Цвет[])
Напишите всю строку сканирования на указанный индекс строки сканирования.
public void WriteScanLine(int scanLineIndex, Color[] pixels)
Parameters
scanLineIndex
int
Индекс нулевой линии сканирования.
pixels
Color
[ ]
Пиксельные цвета подходят для написания.