Class RasterImage
Tên không gian: Aspose.Imaging Tổng hợp: Aspose.Imaging.dll (25.4.0)
Nó đại diện cho một hình ảnh raster hỗ trợ hoạt động đồ họa raster.
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
Thành viên thừa kế
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
Ví dụ này cho thấy làm thế nào để tải thông tin Pixel trong Array of Type Color, thao túng array và đặt nó trở lại hình ảnh. Để thực hiện các hoạt động này, ví dụ đó tạo ra một tập tin Image mới (trong định dạng GIF) uisng MemoryStream đối tượng.
//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()
Bắt đầu một trường hợp mới của lớp Aspose.Imaging.RasterImage.
[JsonConstructor]
protected RasterImage()
RasterImage(Đồ chơi ICOLOR)
Bắt đầu một trường hợp mới của lớp Aspose.Imaging.RasterImage.
protected RasterImage(IColorPalette colorPalette)
Parameters
colorPalette
IColorPalette
Màu palet
Fields
xmpData
Dữ liệu XMP
[JsonProperty]
protected XmpPacketWrapper xmpData
Giá trị Field
Properties
DataLoader
Nhận hoặc đặt bộ tải dữ liệu.
[JsonProperty]
protected IRasterImageArgb32PixelLoader DataLoader { get; set; }
Giá trị bất động sản
HasAlpha
Nó nhận được một giá trị chỉ ra liệu trường hợp này có alpha hay không.
public virtual bool HasAlpha { get; }
Giá trị bất động sản
Examples
Ví dụ sau đây tải các hình ảnh raster và in thông tin về định dạng dữ liệu thô và kênh alpha.
// 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
Ví dụ sau đây cho thấy cách khai thác thông tin về định dạng dữ liệu thô và kênh alpha từ hình ảnh 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
Nó nhận được một giá trị cho thấy liệu hình ảnh có màu sắc minh bạch hay không.
public virtual bool HasTransparentColor { get; set; }
Giá trị bất động sản
HorizontalResolution
Nhận hoặc đặt độ phân giải ngang, trong pixels per inch, của Aspose.Imaging.RasterImage.
public virtual double HorizontalResolution { get; set; }
Giá trị bất động sản
Examples
Ví dụ sau đây cho thấy làm thế nào để thiết lập độ phân giải ngang / dọc của một hình ảnh raster.
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
Ghi chú theo mặc định giá trị này luôn 96 vì các nền tảng khác nhau không thể trả lại độ phân giải màn hình. Bạn có thể xem xét sử dụng phương pháp SetResolution để cập nhật cả hai giá trị độ phân giải trong một cuộc gọi.
ImageOpacity
Nhận được sự vô hình của hình ảnh này.
public virtual float ImageOpacity { get; }
Giá trị bất động sản
IsRawDataAvailable
Nó nhận được một giá trị cho thấy liệu tải dữ liệu nguyên liệu có sẵn hay không.
public bool IsRawDataAvailable { get; }
Giá trị bất động sản
PremultiplyComponents
Nhận hoặc đặt một giá trị cho thấy liệu các thành phần hình ảnh cần phải được quá nhiều.
public virtual bool PremultiplyComponents { get; set; }
Giá trị bất động sản
Examples
Ví dụ sau đây tạo ra một hình ảnh raster mới, tiết kiệm các pixel bán minh bạch được chỉ định, sau đó tải các pixels đó và nhận được màu sắc cuối cùng trong hình thức quá nhiều.
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
Nhận hoặc đặt bộ chuyển đổi màu tùy chỉnh
public IColorConverter RawCustomColorConverter { get; set; }
Giá trị bất động sản
RawDataFormat
Nhận định dạng dữ liệu thô.
public virtual PixelDataFormat RawDataFormat { get; }
Giá trị bất động sản
Examples
Ví dụ sau đây tải các hình ảnh raster và in thông tin về định dạng dữ liệu thô và kênh alpha.
// 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
Ví dụ này cho thấy cách tải một hình ảnh DJVU từ một dòng tệp và in thông tin về các trang.
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
Nhận các cài đặt dữ liệu thô hiện tại. Lưu ý khi sử dụng các cài đặt này dữ liệu tải mà không cần chuyển đổi.
[JsonIgnore]
public RawDataSettings RawDataSettings { get; }
Giá trị bất động sản
RawFallbackIndex
Nhận hoặc đặt chỉ số Fallback để sử dụng khi chỉ số palette không giới hạn
public int RawFallbackIndex { get; set; }
Giá trị bất động sản
RawIndexedColorConverter
Nhận hoặc đặt bộ chuyển đổi màu indexed
public IIndexedColorConverter RawIndexedColorConverter { get; set; }
Giá trị bất động sản
RawLineSize
Nhận kích thước dòng nguyên trong byte.
public virtual int RawLineSize { get; }
Giá trị bất động sản
TransparentColor
Nhận được hình ảnh màu sắc minh bạch.
public virtual Color TransparentColor { get; set; }
Giá trị bất động sản
UpdateXmpData
Nhận hoặc đặt một giá trị cho biết liệu bạn có nên cập nhật dữ liệu siêu dữ liệu XMP hay không.
public virtual bool UpdateXmpData { get; set; }
Giá trị bất động sản
UsePalette
Nhận được một giá trị cho thấy liệu bảng hình ảnh được sử dụng hay không.
public override bool UsePalette { get; }
Giá trị bất động sản
UseRawData
Nhận hoặc đặt một giá trị cho biết liệu sử dụng tải dữ liệu nguyên liệu khi tải dữ liệu nguyên liệu có sẵn.
public virtual bool UseRawData { get; set; }
Giá trị bất động sản
VerticalResolution
Nhận hoặc đặt độ phân giải dọc, trong pixel mỗi inch, của Aspose.Imaging.RasterImage.
public virtual double VerticalResolution { get; set; }
Giá trị bất động sản
Examples
Ví dụ sau đây cho thấy làm thế nào để thiết lập độ phân giải ngang / dọc của một hình ảnh raster.
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
Ghi chú theo mặc định giá trị này luôn 96 vì các nền tảng khác nhau không thể trả lại độ phân giải màn hình. Bạn có thể xem xét sử dụng phương pháp SetResolution để cập nhật cả hai giá trị độ phân giải trong một cuộc gọi.
XmpData
Nhận hoặc đặt các metadata XMP.
public virtual XmpPacketWrapper XmpData { get; set; }
Giá trị bất động sản
Methods
AdjustBrightness(int)
Điều chỉnh độ sáng cho hình ảnh.
public virtual void AdjustBrightness(int brightness)
Parameters
brightness
int
Giá trị ánh sáng
Examples
Ví dụ sau đây thực hiện điều chỉnh độ sáng của một hình ảnh.
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(Sông)
Hình ảnh Contrast
public virtual void AdjustContrast(float contrast)
Parameters
contrast
float
Giá trị tương phản (trong phạm vi [-100; 100])
Examples
Ví dụ sau đây thực hiện điều chỉnh tương phản của một hình ảnh.
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(float, float và float)
Gamma correction của một hình ảnh.
public virtual void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma cho Red Channel Coefficient
gammaGreen
float
Gamma cho Green Channel Coefficient
gammaBlue
float
Gamma cho Blue Channel Coefficient
Examples
Ví dụ sau đây thực hiện chỉnh sửa gamma của một hình ảnh áp dụng các đồng bộ khác nhau cho các thành phần màu.
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(Sông)
Gamma correction của một hình ảnh.
public virtual void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma cho các kênh đỏ, xanh và xanh coefficient
Examples
Ví dụ sau đây thực hiện chỉnh sửa gamma của một hình ảnh.
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(đôi)
Binarization của một hình ảnh bằng cách sử dụng thuật toán giới hạn thích ứng của Bradley bằng cách sử dụng giới hạn hình ảnh toàn diện
public virtual void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Sự khác biệt độ sáng giữa pixel và trung bình của một cửa sổ s x s của pixel tập trung xung quanh pixel này.
BinarizeBradley(Đôi, int)
Binarization của một hình ảnh bằng cách sử dụng thuật toán giới hạn thích ứng của Bradley bằng cách sử dụng giới hạn hình ảnh toàn diện
public virtual void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Sự khác biệt độ sáng giữa pixel và trung bình của một cửa sổ s x s của pixel tập trung xung quanh pixel này.
windowSize
int
Kích thước của s x s cửa sổ của các pixel tập trung xung quanh pixel này
Examples
Ví dụ sau đây nhị phân một hình ảnh raster với thuật toán giới hạn thích ứng của Bradley với kích thước cửa sổ được chỉ định.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Binarize the image with a brightness difference of 5. The brightness is a difference between a pixel and the average of an 10 x 10 window of pixels centered around this pixel.
rasterImage.BinarizeBradley(5, 10);
rasterImage.Save(dir + "sample.BinarizeBradley5_10x10.png");
}
BinarizeFixed(byte)
Binarization của một hình ảnh với giới hạn được xác định trước
public virtual void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Giá trị giới hạn: Nếu giá trị màu xám tương ứng của một pixel lớn hơn giới hạn, giá trị 255 sẽ được phân bổ cho nó, 0 khác.
Examples
Ví dụ sau đây nhị phân một hình ảnh raster với ranh giới đã được xác định. Hình ảnh binary chỉ chứa 2 màu - đen và trắng.
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()
Binarization của một hình ảnh với Otsu thang
public virtual void BinarizeOtsu()
Examples
Ví dụ sau đây nhị phân một hình ảnh raster với Otsu ranh giới. Hình ảnh binary chỉ chứa 2 màu - đen và trắng.
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(Điểm, RasterImage, Rectangle, byte)
Kết hợp mẫu ảnh này với hình ảnh overlay".
public virtual void Blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha = 255)
Parameters
origin
Point
Hình nền có nguồn gốc hỗn hợp.
overlay
RasterImage
Hình ảnh Overlay
overlayArea
Rectangle
Khu vực Overlay
overlayAlpha
byte
Lời bài hát: The Overlay Alpha
Blend(Điểm, RasterImage, byte)
Kết hợp mẫu ảnh này với hình ảnh overlay".
public void Blend(Point origin, RasterImage overlay, byte overlayAlpha = 255)
Parameters
origin
Point
Hình nền có nguồn gốc hỗn hợp.
overlay
RasterImage
Hình ảnh Overlay
overlayAlpha
byte
Lời bài hát: The Overlay Alpha
Dither(DitheringMethod, int)
Hiển thị trên hình ảnh hiện tại.
public void Dither(DitheringMethod ditheringMethod, int bitsCount)
Parameters
ditheringMethod
DitheringMethod
Phương pháp di chuyển.
bitsCount
int
Các bit cuối cùng đếm cho dithering.
Examples
Ví dụ sau đây tải một hình ảnh raster và thực hiện ranh giới và chảy chảy bằng cách sử dụng độ sâu palette khác nhau.
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(DitheringMethod, int, IColorPalette)
Hiển thị trên hình ảnh hiện tại.
public abstract void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Phương pháp di chuyển.
bitsCount
int
Các bit cuối cùng đếm cho dithering.
customPalette
IColorPalette
Thói quen của palette cho dithering.
Filter(Xác định, FilterOptionsBase)
Xác định đường thẳng cụ thể.
public virtual void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
Vòng thẳng.
options
FilterOptionsBase
Các tùy chọn.
Examples
Ví dụ sau đây áp dụng các loại bộ lọc khác nhau cho một hình ảnh raster.
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)
Nhận hình ảnh 32 bit ARGB pixel.
public int GetArgb32Pixel(int x, int y)
Parameters
x
int
Vị trí của pixel x
y
int
Pixel và vị trí.
Returns
32-bit ARGB pixel cho vị trí cụ thể.
Examples
Ví dụ sau đây tải một hình ảnh raster và nhận được màu sắc của một pixel tự nguyện được trình bày như một giá trị toàn bộ 32 bit.
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);
}
Ví dụ sau đây cho thấy làm thế nào caching hình ảnh ảnh hưởng đến hiệu suất.Trong trường hợp nói chung, việc đọc dữ liệu cache được thực hiện nhanh hơn so với việc tìm hiểu không cach data.
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)
Nhận bộ định dạng 32-bit ARGB pixels.
public int[] GetDefaultArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Mũi tên để có được pixels cho.
Returns
int [ ]
Tính năng của Pixel Array
GetDefaultPixels(Tính năng: IPartialArgb32PixelLoader)
Nhận các pixel mặc định được sắp xếp bằng cách sử dụng bộ sạc pixel một phần.
public void GetDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
Mũi tên để có được pixels cho.
partialPixelLoader
IPartialArgb32PixelLoader
Phần Pixel Loader
GetDefaultRawData(Tính năng: IPartialRawDataLoader, RawDataSettings)
Nhận bộ dữ liệu thô mặc định bằng cách sử dụng bộ sạc pixel một phần.
public void GetDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
Mũi tên để có được pixels cho.
partialRawDataLoader
IPartialRawDataLoader
Bộ tải dữ liệu nguyên phần.
rawDataSettings
RawDataSettings
Các thiết lập dữ liệu thô.
GetDefaultRawData(Hướng dẫn cài đặt RawDataSettings)
Nhận dữ liệu thô mặc định.
public byte[] GetDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
Tương tự để có được dữ liệu thô cho.
rawDataSettings
RawDataSettings
Các thiết lập dữ liệu thô.
Returns
byte [ ]
Dòng dữ liệu thô mặc định.
GetModifyDate(Bool)
Nhận ngày và thời gian hình ảnh nguồn đã được sửa đổi lần cuối.
public virtual DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
nếu được thiết lập để ’truyền’ sử dụng thông tin từ FileInfo như là giá trị mặc định.
Returns
Ngày và thời gian hình ảnh nguồn được sửa đổi lần cuối.
GetPixel(int, int)
Có hình ảnh pixel.
public Color GetPixel(int x, int y)
Parameters
x
int
Vị trí của pixel x
y
int
Pixel và vị trí.
Returns
Màu pixel cho vị trí cụ thể.
Examples
Ví dụ sau đây tải một hình ảnh raster và nhận được màu sắc của một pixel tự nguyện.
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()
Nhận được góc skw.Phương pháp này áp dụng cho các tài liệu văn bản được quét, để xác định góc quét khi quét.
public float GetSkewAngle()
Returns
Ngôi góc, trong độ.
Grayscale()
Sự biến đổi của một hình ảnh thành đại diện grayscale của nó
public virtual void Grayscale()
Examples
Ví dụ sau đây chuyển đổi một hình ảnh màu sắc của raster thành đại diện màu xám của nó. Hình ảnh Grayscale được tạo thành độc quyền từ bóng râm và chỉ mang thông tin cường độ.
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)
tải 32 bit ARGB pixels.
public int[] LoadArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Tính thẳng để tải các pixel từ.
Returns
int [ ]
Bộ tải 32-bit ARGB pixels.
Examples
Ví dụ sau đây cho thấy làm thế nào để tải lên và xử lý các pixel của một hình ảnh raster. các pixels được trình bày như 32-bit giá trị toàn bộ. ví dụ, hãy xem xét một vấn đề của việc tính toán đầy đủ thông minh của các píxels của ảnh.
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)
tải 64 bit ARGB pixels.
public long[] LoadArgb64Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Tính thẳng để tải các pixel từ.
Returns
long [ ]
Bộ sạc 64-bit ARGB pixels.
Examples
Ví dụ sau đây cho thấy làm thế nào để tải lên và xử lý các pixel của một hình ảnh raster. Các pixels được trình bày như các giá trị toàn bộ 64-bit.
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)
Tải pixel trong định dạng CMYK.
public int[] LoadCmyk32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Tính thẳng để tải các pixel từ.
Returns
int [ ]
Các pixel CMYK tải được trình bày như các giá trị inateger 32-bit.
LoadCmykPixels(Rectangle)
Tải pixel trong định dạng CMYK.Vui lòng sử dụng hiệu quả hơn các phương pháp Aspose.Imaging.RasterImage.LoadCmyk32Pixels(__W L17_Rectangle).
[Obsolete("Method is obsolete")]
public CmykColor[] LoadCmykPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Tính thẳng để tải các pixel từ.
Returns
CmykColor [ ]
Các tải CMYK pixels array.
LoadPartialArgb32Pixels(Tính năng: IPartialArgb32PixelLoader)
Tải 32-bit ARGB pixel một phần bằng gói.
public void LoadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
Mục đích mong muốn.
partialPixelLoader
IPartialArgb32PixelLoader
Bộ sạc pixel 32 bit ARGB
Examples
Ví dụ sau đây cho thấy làm thế nào để tải và xử lý các pixel của một hình ảnh raster bằng cách sử dụng bộ xử lí phần tử của riêng bạn. ví dụ, xem xét một vấn đề của việc đếm các pixels hoàn toàn minh bạch trong một bức ảnh. Để tính toán các píxels thông minh bằng phương pháp tải phần, một lớp riêng TransparentArgb32PixelCounter thực hiện Aspose.Imaging.IPartialArGB32PixelLoader được giới thiệu.
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(Tính năng: IPartialArgb64PixelLoader)
Tải 64-bit ARGB pixel một phần bằng gói.
public void LoadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
Mục đích mong muốn.
partialPixelLoader
IPartialArgb64PixelLoader
Bộ sạc 64 bit ARGB pixel.
LoadPartialPixels(Tính năng: IPartialPixelLoader)
Tải pixel một phần bằng gói.
public void LoadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)
Parameters
desiredRectangle
Rectangle
Mục đích mong muốn.
pixelLoader
IPartialPixelLoader
Tải Pixel Loader
Examples
Ví dụ sau đây cho thấy làm thế nào để tải và xử lý các pixel của một hình ảnh raster bằng cách sử dụng bộ xử lí phần tử của riêng bạn. ví dụ, hãy xem xét một vấn đề của việc tính toán các pixels hoàn toàn minh bạch của bức ảnh. Để tính chi tiết bằng cơ chế tải phần, một lớp riêng biệt TransparentPixelCounter thực hiện Aspose.Imaging.IPartialPixelLoader được giới thiệu.
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)
tải pixels.
public Color[] LoadPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Tính thẳng để tải các pixel từ.
Returns
Color [ ]
Các pixel tải ra.
Examples
Ví dụ sau đây cho thấy làm thế nào để tải lên và xử lý các pixel của một hình ảnh raster. ví dụ, xem xét một vấn đề của việc tính toán các pixels hoàn toàn minh bạch của ảnh.
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);
}
Ví dụ này cho thấy làm thế nào để tải thông tin Pixel trong Array of Type Color, thao túng array và đặt nó trở lại hình ảnh. Để thực hiện các hoạt động này, ví dụ đó tạo ra một tập tin Image mới (trong định dạng GIF) uisng MemoryStream đối tượng.
//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(Tính năng: Rectangle, RawDataSettings, IPartialRawDataLoader)
tải dữ liệu nguyên chất.
public void LoadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
Dòng thẳng để tải dữ liệu thô từ.
rawDataSettings
RawDataSettings
Các cài đặt dữ liệu thô để sử dụng cho dữ liệu tải. Lưu ý nếu dữ liệu không ở định dạng được chỉ định thì chuyển đổi dữ liệu sẽ được thực hiện.
rawDataLoader
IPartialRawDataLoader
Loader dữ liệu thô
Examples
Ví dụ sau đây cho thấy làm thế nào để rút các pixel từ dữ liệu hình ảnh nguyên bằng cách sử dụng RawDataSettings. ví dụ, xem xét một vấn đề của việc tính toán các pixels hoàn toàn minh bạch của một hình dạng.
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)
tải dữ liệu nguyên chất.
public void LoadRawData(Rectangle rectangle, Rectangle destImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
Dòng thẳng để tải dữ liệu thô từ.
destImageBounds
Rectangle
Hình ảnh có giới hạn.
rawDataSettings
RawDataSettings
Các cài đặt dữ liệu thô để sử dụng cho dữ liệu tải. Lưu ý nếu dữ liệu không ở định dạng được chỉ định thì chuyển đổi dữ liệu sẽ được thực hiện.
rawDataLoader
IPartialRawDataLoader
Loader dữ liệu thô
NormalizeAngle()
bình thường hóa góc độ.Phương pháp này áp dụng cho các tài liệu văn bản được quét để thoát khỏi quét quét.Phương pháp này sử dụng các phương pháp Aspose.Imaging.RasterImage.GetSkewAngle và Wl17. RasterIme.rotate(System.Single).
public void NormalizeAngle()
NormalizeAngle(Bool, Màu sắc)
bình thường hóa góc độ.Phương pháp này áp dụng cho các tài liệu văn bản được quét để thoát khỏi quét quét.Phương pháp này sử dụng các phương pháp Aspose.Imaging.RasterImage.GetSkewAngle và Wl17 Raster Image .Rotate(System.Single,Sistem.Boolean,__W L17 _.Color).
public virtual void NormalizeAngle(bool resizeProportionally, Color backgroundColor)
Parameters
resizeProportionally
bool
Nếu được thiết lập để ’truyền’ bạn sẽ có kích cỡ hình ảnh của bạn thay đổi theo hình chiếu trực tiếp xoay (các điểm góc) trong trường hợp khác để lại các kích cỡ không bị chạm và chỉ nội dung hình ảnh được xoay.
backgroundColor
Color
Màu sắc của nền
Examples
Skew là một tác phẩm có thể xuất hiện trong quá trình quét tài liệu khi các văn bản / hình ảnh của Tài liệu được xoay ở một góc nhẹ. Nó có khả năng có nhiều nguyên nhân nhưng phổ biến nhất là rằng giấy được sai vị trí trong một quát. Do đó, deskev là quy trình phát hiện và sửa chữa vấn đề này trên các tập tin quẩn (ví dụ: bitmap) do đó các nội dung quất sẽ có văn Bản / ảnh được điều chỉnh chính xác và ngang.
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()
Tiêu chuẩn hóa histogram hình ảnh — điều chỉnh các giá trị pixel để sử dụng tất cả phạm vi có sẵn.
public virtual void NormalizeHistogram()
ReadArgb32ScanLine(int)
Đọc toàn bộ dòng quét bằng chỉ số dòng quét cụ thể.
public int[] ReadArgb32ScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
Chỉ số dựa trên zero của dòng quét.
Returns
int [ ]
Các dòng quét 32-bit ARGB màu giá trị sắp xếp.
ReadScanLine(int)
Đọc toàn bộ dòng quét bằng chỉ số dòng quét cụ thể.
public Color[] ReadScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
Chỉ số dựa trên zero của dòng quét.
Returns
Color [ ]
Các dòng quét pixel màu giá trị sắp xếp.
ReleaseManagedResources()
Hãy chắc chắn rằng không có tài nguyên không được quản lý được phát hành ở đây, vì chúng có thể đã được phát hành.
protected override void ReleaseManagedResources()
RemoveMetadata()
Xóa dữ liệu metadata mẫu hình này bằng cách thiết lập giá trị này Aspose.Imaging.Xmp.IHasxmpData. 0 0 0.
public override void RemoveMetadata()
ReplaceColor(Màu sắc, byte, Color)
Thay thế một màu với màu khác với sự khác biệt cho phép và giữ giá trị alpha ban đầu để tiết kiệm ranh giới mịn màng.
public void ReplaceColor(Color oldColor, byte oldColorDiff, Color newColor)
Parameters
oldColor
Color
Màu cũ để thay thế.
oldColorDiff
byte
Cho phép sự khác biệt trong màu cũ để có thể mở rộng màu sắc thay thế.
newColor
Color
Màu mới để thay thế màu cũ với.
ReplaceColor(int, byte, int)
Thay thế một màu với màu khác với sự khác biệt cho phép và giữ giá trị alpha ban đầu để tiết kiệm ranh giới mịn màng.
public virtual void ReplaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)
Parameters
oldColorArgb
int
Giá trị màu cũ ARGB sẽ được thay thế.
oldColorDiff
byte
Cho phép sự khác biệt trong màu cũ để có thể mở rộng màu sắc thay thế.
newColorArgb
int
Giá trị màu mới ARGB để thay thế màu cũ với.
ReplaceNonTransparentColors(Color)
Thay thế tất cả các màu sắc không minh bạch với màu sắc mới và duy trì giá trị alpha ban đầu để tiết kiệm ranh giới mịn màng.Lưu ý: Nếu bạn sử dụng nó trên hình ảnh mà không có minh bạch, tất cả các màu sắc sẽ được thay thế bằng một.
public void ReplaceNonTransparentColors(Color newColor)
Parameters
newColor
Color
Màu mới để thay thế màu sắc không minh bạch với.
ReplaceNonTransparentColors(int)
Thay thế tất cả các màu sắc không minh bạch với màu sắc mới và duy trì giá trị alpha ban đầu để tiết kiệm ranh giới mịn màng.Lưu ý: Nếu bạn sử dụng nó trên hình ảnh mà không có minh bạch, tất cả các màu sắc sẽ được thay thế bằng một.
public virtual void ReplaceNonTransparentColors(int newColorArgb)
Parameters
newColorArgb
int
Giá trị màu mới ARGB để thay thế màu sắc không minh bạch với.
Resize(int, int, ImageResizeSettings)
Tải lại hình ảnh với các tùy chọn mở rộng.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Chiều rộng mới
newHeight
int
Độ cao mới
settings
ImageResizeSettings
Các thiết lập resize.
Examples
Ví dụ này tải một hình ảnh raster và resize nó bằng cách sử dụng các cài đặt resizing khác nhau.
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(Float, Bool, Màu sắc)
Hình ảnh xoay quanh trung tâm.
public virtual void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
góc xoay trong độ. giá trị tích cực sẽ xoay theo cách đồng hồ.
resizeProportionally
bool
Nếu được thiết lập để ’truyền’ bạn sẽ có kích cỡ hình ảnh của bạn thay đổi theo hình chiếu trực tiếp xoay (các điểm góc) trong trường hợp khác để lại các kích cỡ không bị chạm và chỉ nội dung hình ảnh được xoay.
backgroundColor
Color
Màu sắc của nền
Exceptions
Không thực hiện ngoại lệ
Rotate(Sông)
Hình ảnh xoay quanh trung tâm.
public override void Rotate(float angle)
Parameters
angle
float
góc xoay trong độ. giá trị tích cực sẽ xoay theo cách đồng hồ.
Save(Stream, ImageOptionsBase, Rectangle)
Lưu dữ liệu của hình ảnh vào dòng cụ thể trong định dạng tệp cụ thể theo tùy chọn lưu.
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
Stream để lưu dữ liệu của hình ảnh đến.
optionsBase
ImageOptionsBase
Các tùy chọn tiết kiệm
boundsRectangle
Rectangle
Mục đích hình ảnh giới hạn trực tiếp. thiết lập trực tiếp trống để sử dụng giới hạn nguồn.
SaveArgb32Pixels(Vị trí, int[])
Tiết kiệm các pixel ARGB 32 bit.
public void SaveArgb32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
Tóm tắt để tiết kiệm pixels.
pixels
int
[ ]
Các 32-bit ARGB pixels array.
Examples
Ví dụ sau đây điền vào khu vực trung tâm của một hình ảnh raster với các pixel đen bằng cách sử dụng phương pháp 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(Vị trí, int[])
Tiết kiệm các pixel
public void SaveCmyk32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
Tóm tắt để tiết kiệm pixels.
pixels
int
[ ]
Các pixel CMYK được trình bày như các giá trị toàn bộ 32 bit.
Examples
Ví dụ sau đây điền vào khu vực trung tâm của một hình ảnh raster với các pixel đen bằng cách sử dụng phương pháp 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(Màn hình, CmykColor[])
Tiết kiệm các pixelVui lòng sử dụng hiệu quả hơn các phương pháp Aspose.Imaging.RasterImage.SaveCmyk32Pixels(__W L17_Rectangle,System.Int32[]).
[Obsolete("Method is obsolete")]
public void SaveCmykPixels(Rectangle rectangle, CmykColor[] pixels)
Parameters
rectangle
Rectangle
Tóm tắt để tiết kiệm pixels.
pixels
CmykColor
[ ]
Các CMYK pixels array.
SavePixels(màu sắc, màu sắc[])
Tiết kiệm các pixel
public void SavePixels(Rectangle rectangle, Color[] pixels)
Parameters
rectangle
Rectangle
Tóm tắt để tiết kiệm pixels.
pixels
Color
[ ]
Các pixel ra.
Examples
Ví dụ sau đây điền vào khu vực trung tâm của một hình ảnh raster với các pixel đen bằng cách sử dụng phương pháp 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");
}
Ví dụ này cho thấy làm thế nào để tải thông tin Pixel trong Array of Type Color, thao túng array và đặt nó trở lại hình ảnh. Để thực hiện các hoạt động này, ví dụ đó tạo ra một tập tin Image mới (trong định dạng GIF) uisng MemoryStream đối tượng.
//Create an instance of MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Create an instance of GifOptions and set its various properties including the Source property
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Create an instance of Image
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Get the pixels of image by specifying the area as image boundary
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//Loop over the Array and sets color of alrenative indexed pixel
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Set the indexed pixel color to yellow
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Set the indexed pixel color to blue
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Apply the pixel changes to the image
image.SavePixels(image.Bounds, pixels);
// save all changes.
image.Save();
}
// Write MemoryStream to File
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
SaveRawData(byte[ ], int, Rectangle, RawDataSettings)
Tiết kiệm dữ liệu thô
public void SaveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
data
byte
[ ]
Dữ liệu thô
dataOffset
int
Bắt đầu dữ liệu thô giảm giá.
rectangle
Rectangle
Dòng dữ liệu nguyên tử.
rawDataSettings
RawDataSettings
Dữ liệu thô cài đặt dữ liệu là trong.
SetArgb32Pixel(int, int, int, int)
Thiết lập một hình ảnh 32-bit ARGB pixel cho vị trí cụ thể.
public void SetArgb32Pixel(int x, int y, int argb32Color)
Parameters
x
int
Vị trí của pixel x
y
int
Pixel và vị trí.
argb32Color
int
32-bit ARGB pixel cho vị trí cụ thể.
Examples
Ví dụ sau đây tải một hình ảnh raster, và đặt màu sắc của một pixel tự nguyện.
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(Màn hình, bool)
Đặt hình ảnh palette.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Palette để đặt.
updateColors
bool
nếu thiết lập màu sắc ’thực tế’ sẽ được cập nhật theo bảng màu mới; nếu không, chỉ số màu vẫn không thay đổi. lưu ý rằng chỉ số không thay đổi có thể phá vỡ hình ảnh trên tải nếu một số chỉ số không có nhập bảng màu tương ứng.
SetPixel(int, int, màu sắc)
Thiết lập một pixel hình ảnh cho vị trí cụ thể.
public void SetPixel(int x, int y, Color color)
Parameters
x
int
Vị trí của pixel x
y
int
Pixel và vị trí.
color
Color
Màu pixel cho vị trí cụ thể.
Examples
Ví dụ sau đây tải một hình ảnh raster, và đặt màu sắc của một pixel tự nguyện.
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(đôi, double)
Thiết lập độ phân giải cho Aspose.Imaging.RasterImage.
public virtual void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
Độ phân giải ngang, ở điểm mỗi inch, của Aspose.Imaging.RasterImage.
dpiY
double
Độ phân giải dọc, ở điểm mỗi inch, của Aspose.Imaging.RasterImage.
Examples
Ví dụ sau đây cho thấy làm thế nào để thiết lập độ phân giải ngang / dọc của một hình ảnh raster.
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()
Chuyển đổi hình ảnh raster sang bitmap.Phương pháp này không được hỗ trợ trong các phiên bản từ .Net7.0 và cao hơn
public virtual Bitmap ToBitmap()
Returns
Bản đồ bitmap
UpdateDimensions(int, int)
Cập nhật kích thước hình ảnh.
protected abstract void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Hình ảnh mới rộng.
newHeight
int
Độ cao hình ảnh mới.
UpdateMetadata()
Cập nhật hình ảnh metadata.
protected virtual void UpdateMetadata()
WriteArgb32ScanLine(int, int[])
Viết toàn bộ dòng quét vào chỉ số dòng quét cụ thể.
public void WriteArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)
Parameters
scanLineIndex
int
Chỉ số dựa trên zero của dòng quét.
argb32Pixels
int
[ ]
Màu sắc 32 bit ARGB sắp xếp để viết.
WriteScanLine(int, Màu sắc[])
Viết toàn bộ dòng quét vào chỉ số dòng quét cụ thể.
public void WriteScanLine(int scanLineIndex, Color[] pixels)
Parameters
scanLineIndex
int
Chỉ số dựa trên zero của dòng quét.
pixels
Color
[ ]
Màu sắc pixel để viết.