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(Ікольорпалет)
Ініціалює нову інстанцію класу Aspose.Imaging.RasterImage.
protected RasterImage(IColorPalette colorPalette)
Parameters
colorPalette
IColorPalette
Палетка кольорів
Fields
КСНУМКС
Метадани 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(Двоповерховий)
Бінаризація зображення за допомогою адаптивного алгоритму бар’єри Брэдлі за допомогою інтегрованого бар’єри зображення
public virtual void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Різниця в яскравості між пікселем і середнім вікном с x с пікселів, зосереджених навколо цього пікселя.
windowSize
int
Розмір вікна с x с пікселів, зосереджених навколо цього пікселя
Examples
Наступний приклад дворазово зображує растер з адаптивним алгоритмом Bradley з зазначеним розміром вікна.
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(Батьківщина)
Бінаризація зображення з заздалегідь визначеною працею
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
Наступний приклад дворазово виражає зображення растер з діаметром Otsu. бінарні знімки містять тільки 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
Зображення надлишку.
overlayArea
Rectangle
У районі переповнення.
overlayAlpha
byte
Поверхня Альфа.
Blend(Створення Point, RasterImage, byte)
Змішайте цей приклад зображенням overlay".
public void Blend(Point origin, RasterImage overlay, byte overlayAlpha = 255)
Parameters
origin
Point
Зображення фону змішується походження.
overlay
RasterImage
Зображення надлишку.
overlayAlpha
byte
Поверхня Альфа.
Dither(Використання методу, int)
Здійснюється на теперішньому зображенні.
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(Створення Metod, 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);
}
Наступний приклад показує, як зображення кешінг впливає на продуктивність.В цілому, читання кефірованих даних здійснюється швидше, ніж читати не-кафірувані дані.
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 [ ]
Використання пікселів за замовчуванням.
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.IPartialArGB32PexelLoader.
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
Завантажити Pixel Loader.
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(Ректанг, Ректанг, 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.
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(Іт, Іт, ImageResizeSettings)
Відновлення зображення з розширеними варіантами.
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(Батьківщина[ ], 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(ІНТ, ІНТ, Колір)
Налаштуйте піксель зображення для визначеного положення.
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
[ ]
Піксельні кольори вміють писати.