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
این مثال نشان می دهد که چگونه اطلاعات پیکسل را در یک ردیف نوع رنگ بارگذاری کنید، ردیف را دستکاری کنید و آن را به تصویر بازگردانید.برای انجام این عملیات، این مثال یک فایل تصویر جدید (در فرمت GIF) ایجاد می کند.
//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
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(int)
تنظیم درخشش برای تصویر
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 s پیکسل در اطراف این پیکسل متمرکز شده است.
BinarizeBradley(دوگانه، int)
دوگانه سازی یک تصویر با استفاده از الگوریتم محدودیت سازگار برادلی با استفاده از محدودیت تصویر یکپارچه
public virtual void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
تفاوت در روشنایی بین پیکسل و میانگین یک پنجره x s پیکسل در اطراف این پیکسل متمرکز شده است.
windowSize
int
اندازه پنجره x s پیکسل های متمرکز در اطراف این پیکسل
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 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
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
تصاویری از 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(راه حل، 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(بایگانی برچسب ها: 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(int، int)
این تصویر دارای پیکسل 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(Rectangle، 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(int، int)
یک پیکسل تصویر را دریافت کنید.
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(Aspose.Imaging.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.IPartialArgb32PixelLoader معرفی می شود.
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);
}
این مثال نشان می دهد که چگونه اطلاعات پیکسل را در یک ردیف نوع رنگ بارگذاری کنید، ردیف را دستکاری کنید و آن را به تصویر بازگردانید.برای انجام این عملیات، این مثال یک فایل تصویر جدید (در فرمت GIF) ایجاد می کند.
//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 و Aspose.Imaging.RasterImage.Rotate(System.Single) استفاده می کند.
public void NormalizeAngle()
NormalizeAngle(بوئل، رنگ)
زاویه را عادی می کند.این روش برای اسکن اسناد متن برای خلاص شدن از اسکن شکسته اعمال می شود.این روش از روش های Aspose.Imaging.RasterImage.GetSkewAngle و Aspose.Imaging.RasterImage.Rotate(System.Single،System.Boolean،Aspose.Imaging.Color) استفاده می کند.
public virtual void NormalizeAngle(bool resizeProportionally, Color backgroundColor)
Parameters
resizeProportionally
bool
اگر به “واقعی” تنظیم شود، اندازه تصویر شما با توجه به پیش بینی های مستطیل چرخیده (نقطه گوشه ای) تغییر خواهد کرد در غیر این صورت که ابعاد را بدون لمس ترک می کند و فقط محتوای تصویر داخلی چرخیده می شود.
backgroundColor
Color
رنگ های پس زمینه
Examples
Skew یک اثر است که ممکن است در طول فرایند اسکن اسناد ظاهر شود زمانی که متن / تصاویر اسناد در یک زاویه خفیف چرخیده می شود. این می تواند دلایل مختلفی داشته باشد اما شایع ترین آن است که کاغذ در طول اسکن اشتباه قرار می گیرد. بنابراین، deskew فرآیند تشخیص و اصلاح این مشکل در فایل های اسکن شده (یعنی bitmap) به طوری که اسناد اسکن شده متن / تصاویر به درستی و افقی تنظیم خواهد شد.
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(int)
کل خط اسکن را با شاخص خط اسکن مشخص می کند.
public int[] ReadArgb32ScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
شاخص بر اساس صفر از خط اسکن
Returns
int [ ]
خط اسکن 32 بیتی ARGB ارزش های رنگی را مرتب می کند.
ReadScanLine(int)
کل خط اسکن را با شاخص خط اسکن مشخص می کند.
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(int)
همه رنگ های غیر شفاف را با رنگ های جدید جایگزین می کند و ارزش آلفا اصلی را حفظ می کند تا لبه های صاف را حفظ کند.نکته: اگر از آن در تصاویر بدون شفافیت استفاده کنید، تمام رنگ ها با یک رنگ جایگزین می شوند.
public virtual void ReplaceNonTransparentColors(int newColorArgb)
Parameters
newColorArgb
int
رنگ جدید ارزش ARGB برای جایگزین کردن رنگ های غیر شفاف با.
Resize(int، int، 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(Aspose.Imaging.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");
}
این مثال نشان می دهد که چگونه اطلاعات پیکسل را در یک ردیف نوع رنگ بارگذاری کنید، ردیف را دستکاری کنید و آن را به تصویر بازگردانید.برای انجام این عملیات، این مثال یک فایل تصویر جدید (در فرمت GIF) ایجاد می کند.
//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(int، int، int، int)
پیکسل تصویر 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(بایگانی برچسب ها: bool)
پالت تصویر را نصب کنید.
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()
تبدیل تصویر راستر به bitmap.این روش در نسخه های .Net7.0 و بالاتر پشتیبانی نمی شود.
public virtual Bitmap ToBitmap()
Returns
بیت مپ
UpdateDimensions(int، int)
ابعاد تصویر را به روز کنید
protected abstract void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
عرض تصویر جدید
newHeight
int
ارتفاع تصویر جدید
UpdateMetadata()
به روز رسانی داده های تصویر
protected virtual void UpdateMetadata()
WriteArgb32ScanLine(int، int[])
کل خط اسکن را به شاخص خط اسکن مشخص شده بنویسید.
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
[ ]
رنگ پیکسل برای نوشتن مناسب است.