Class RasterImage
Nama dari : Aspose.Imaging Pengumpulan: Aspose.Imaging.dll (25.4.0)
Perwakilan gambar raster yang mendukung operasi grafis 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
anggota yang diwarisi
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
Contoh ini menunjukkan cara memuat informasi Pixel dalam Array Type Color, memanipulasi array dan mengaturnya kembali ke gambar.Untuk melakukan operasi ini, contoh ini menciptakan file Image baru (dalam format GIF) uisng MemoryStream object.
//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()
Initifikasi contoh baru dari kelas Aspose.Imaging.RasterImage.
[JsonConstructor]
protected RasterImage()
RasterImage(Ikonisasi)
Initifikasi contoh baru dari kelas Aspose.Imaging.RasterImage.
protected RasterImage(IColorPalette colorPalette)
Parameters
colorPalette
IColorPalette
dengan palet warna.
Fields
xmpData
Metadata XMP
[JsonProperty]
protected XmpPacketWrapper xmpData
Nilai lapangan
Properties
DataLoader
Dapatkan atau menetapkan data loader.
[JsonProperty]
protected IRasterImageArgb32PixelLoader DataLoader { get; set; }
Nilai Properti
HasAlpha
Dapatkan nilai yang menunjukkan apakah instans ini memiliki alfa.
public virtual bool HasAlpha { get; }
Nilai Properti
Examples
Contoh berikut memuat gambar raster dan mencetak informasi tentang format data mentah dan saluran alfa.
// 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
Contoh berikut menunjukkan bagaimana untuk mengekstrak informasi tentang format data mentah dan saluran alfa dari gambar 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
Dapatkan nilai yang menunjukkan apakah gambar memiliki warna transparan.
public virtual bool HasTransparentColor { get; set; }
Nilai Properti
HorizontalResolution
Dapatkan atau menetapkan resolusi horizontal, dalam piksel per inci, dari Aspose.Imaging.RasterImage ini.
public virtual double HorizontalResolution { get; set; }
Nilai Properti
Examples
Contoh berikut menunjukkan bagaimana menetapkan resolusi horizontal/vertikal dari gambar 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
Catat secara default nilai ini selalu 96 karena platform yang berbeda tidak dapat mengembalikan resolusi layar. Anda dapat mempertimbangkan menggunakan metode SetResolution untuk memperbarui kedua nilai resolusi dalam satu panggilan.
ImageOpacity
Dapatkan ketidakselesaan dari gambar ini.
public virtual float ImageOpacity { get; }
Nilai Properti
IsRawDataAvailable
Dapatkan nilai yang menunjukkan apakah pengisian data mentah tersedia.
public bool IsRawDataAvailable { get; }
Nilai Properti
PremultiplyComponents
Dapatkan atau menetapkan nilai yang menunjukkan apakah komponen gambar harus dipredulsifkan.
public virtual bool PremultiplyComponents { get; set; }
Nilai Properti
Examples
Contoh berikut menciptakan gambar raster baru, menyimpan piksel semi transparan yang ditentukan, kemudian mengisi piksel tersebut dan mendapatkan warna akhir dalam bentuk yang diprediksi.
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
Dapatkan atau menetapkan konversi warna yang disesuaikan
public IColorConverter RawCustomColorConverter { get; set; }
Nilai Properti
RawDataFormat
Dapatkan format data mentah.
public virtual PixelDataFormat RawDataFormat { get; }
Nilai Properti
Examples
Contoh berikut memuat gambar raster dan mencetak informasi tentang format data mentah dan saluran alfa.
// 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
Contoh ini menunjukkan cara memuat gambar DJVU dari arus file dan mencetak informasi tentang halaman.
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
Dapatkan pengaturan data mentah saat ini. perhatikan ketika menggunakan pengaturan ini data dimuat tanpa konversi.
[JsonIgnore]
public RawDataSettings RawDataSettings { get; }
Nilai Properti
RawFallbackIndex
Dapatkan atau menetapkan indeks fallback untuk digunakan ketika indeks palet berada di luar batas
public int RawFallbackIndex { get; set; }
Nilai Properti
RawIndexedColorConverter
Dapatkan atau menetapkan konversi warna yang diindeks
public IIndexedColorConverter RawIndexedColorConverter { get; set; }
Nilai Properti
RawLineSize
Dapatkan ukuran garis mentah dalam byte.
public virtual int RawLineSize { get; }
Nilai Properti
TransparentColor
Dapatkan gambar dengan warna transparan.
public virtual Color TransparentColor { get; set; }
Nilai Properti
UpdateXmpData
Dapatkan atau menetapkan nilai yang menunjukkan apakah untuk memperbarui metadata XMP.
public virtual bool UpdateXmpData { get; set; }
Nilai Properti
UsePalette
Dapatkan nilai yang menunjukkan apakah palet gambar digunakan.
public override bool UsePalette { get; }
Nilai Properti
UseRawData
Dapatkan atau menetapkan nilai yang menunjukkan apakah untuk menggunakan pengisian data mentah ketika pengisian data mentah tersedia.
public virtual bool UseRawData { get; set; }
Nilai Properti
VerticalResolution
Dapatkan atau menetapkan resolusi vertikal, dalam piksel per inci, dari Aspose.Imaging.RasterImage ini.
public virtual double VerticalResolution { get; set; }
Nilai Properti
Examples
Contoh berikut menunjukkan bagaimana menetapkan resolusi horizontal/vertikal dari gambar 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
Catat secara default nilai ini selalu 96 karena platform yang berbeda tidak dapat mengembalikan resolusi layar. Anda dapat mempertimbangkan menggunakan metode SetResolution untuk memperbarui kedua nilai resolusi dalam satu panggilan.
XmpData
Dapatkan atau menetapkan metadata XMP.
public virtual XmpPacketWrapper XmpData { get; set; }
Nilai Properti
Methods
AdjustBrightness(int)
menyesuaikan kecerahan untuk gambar.
public virtual void AdjustBrightness(int brightness)
Parameters
brightness
int
Nilai kecerahan
Examples
Contoh berikut melakukan koreksi kecerahan dari gambar.
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(kapal)
Gambar kontras
public virtual void AdjustContrast(float contrast)
Parameters
contrast
float
Nilai kontras (dalam rentang [-100; 100])
Examples
Contoh berikut melakukan koreksi kontras dari gambar.
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(Kapal, Kapal dan Kapal)
Perbaikan Gamma dari gambar.
public virtual void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma untuk Red Channel Coefficient
gammaGreen
float
Gamma untuk Green Channel Coefficient
gammaBlue
float
Gamma untuk Blue Channel Coefficient
Examples
Contoh berikut melakukan koreksi gamma dari gambar yang menerapkan koefisien yang berbeda untuk komponen warna.
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(kapal)
Perbaikan Gamma dari gambar.
public virtual void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma untuk koordinat saluran merah, hijau dan biru
Examples
Contoh berikut melakukan koreksi gamma dari gambar.
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(Dua kali)
Binarisasi gambar menggunakan algoritma pembatasan adaptif Bradley menggunakan pembatasan gambar integral
public virtual void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Perbedaan kecerahan antara piksel dan rata-rata jendela s x s dari piksel yang berpusat di sekitar piksel ini.
BinarizeBradley(Dua kali, int)
Binarisasi gambar menggunakan algoritma pembatasan adaptif Bradley menggunakan pembatasan gambar integral
public virtual void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Perbedaan kecerahan antara piksel dan rata-rata jendela s x s dari piksel yang berpusat di sekitar piksel ini.
windowSize
int
Ukuran jendela s x s dari piksel yang berpusat di sekitar piksel ini
Examples
Contoh berikut menggandakan gambar raster dengan algoritma sempadan adaptif Bradley dengan ukuran jendela yang ditentukan. gambar binaris hanya mengandung 2 warna - hitam dan putih.
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)
Binarisasi gambar dengan batas yang sudah ditentukan
public virtual void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Jika nilai kelabu yang sepadan dari piksel lebih besar dari batas, nilai 255 akan ditugaskan kepadanya, 0 sebaliknya.
Examples
Contoh berikut binarisasi gambar raster dengan batas yang telah ditentukan. gambar binarisasi hanya mengandung 2 warna - hitam dan putih.
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()
Binarisasi gambar dengan sempadan Otsu
public virtual void BinarizeOtsu()
Examples
Contoh berikut binarisasi gambar raster dengan sempadan Otsu. gambar binarisasi hanya mengandung 2 warna - hitam dan putih.
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(Titik, RasterImage, Rectangle, byte)
Campurkan contoh gambar ini dengan gambar overlay".
public virtual void Blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha = 255)
Parameters
origin
Point
Gambar latar belakang bercampur asal.
overlay
RasterImage
Gambar yang berlebihan.
overlayArea
Rectangle
Area yang berlebihan.
overlayAlpha
byte
dengan alfa yang berlebihan.
Blend(Titik, RasterImage, byte)
Campurkan contoh gambar ini dengan gambar overlay".
public void Blend(Point origin, RasterImage overlay, byte overlayAlpha = 255)
Parameters
origin
Point
Gambar latar belakang bercampur asal.
overlay
RasterImage
Gambar yang berlebihan.
overlayAlpha
byte
dengan alfa yang berlebihan.
Dither(Metode pengukuran, int)
Performa yang ditempatkan pada gambar saat ini.
public void Dither(DitheringMethod ditheringMethod, int bitsCount)
Parameters
ditheringMethod
DitheringMethod
Metode yang dihitung.
bitsCount
int
Bits terakhir menghitung untuk dikhitung.
Examples
Contoh berikut memuat gambar raster dan melakukan threshold dan floyd dithering menggunakan kedalaman palet yang berbeda.
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(DitheringMetode, int, IColorPalette)
Performa yang ditempatkan pada gambar saat ini.
public abstract void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metode yang dihitung.
bitsCount
int
Bits terakhir menghitung untuk dikhitung.
customPalette
IColorPalette
Pakaian yang disesuaikan untuk dikeringkan.
Filter(Rectangle, FilterOptionsBase)
Filter rektangle yang ditentukan.
public virtual void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
dengan rektangle.
options
FilterOptionsBase
dengan opsi tersebut.
Examples
Contoh berikut menggunakan berbagai jenis filter untuk gambar 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(dengan int, int)
Dapatkan gambar dengan 32-bit ARGB pixel.
public int GetArgb32Pixel(int x, int y)
Parameters
x
int
Piksel X adalah lokasi.
y
int
Piksel dan lokasi.
Returns
Piksel ARGB 32-bit untuk lokasi yang ditentukan.
Examples
Contoh berikut memuat gambar raster dan mendapatkan warna piksel arbitrari yang diwakili sebagai nilai total 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);
}
Contoh berikut menunjukkan bagaimana caching gambar mempengaruhi kinerja.Secara umum, membaca data cache dilakukan lebih cepat daripada membaca data yang tidak cache.
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)
Dapatkan array 32-bit ARGB piksel default.
public int[] GetDefaultArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Pesan untuk mendapatkan piksel.
Returns
int [ ]
Piksel default adalah array.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)
Dapatkan pengaturan piksel default menggunakan pengisi piksel parsial.
public void GetDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
Pesan untuk mendapatkan piksel.
partialPixelLoader
IPartialArgb32PixelLoader
Pengisian pixel parsial.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, Pengaturan RawData)
Dapatkan array data mentah default menggunakan pengisi piksel parsial.
public void GetDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
Pesan untuk mendapatkan piksel.
partialRawDataLoader
IPartialRawDataLoader
Pengisian Data Surya Parsial.
rawDataSettings
RawDataSettings
Pengaturan data mentah.
GetDefaultRawData(Rectangle dan RawDataSettings)
Dapatkan array data mentah default.
public byte[] GetDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
rektangle untuk mendapatkan data mentah untuk.
rawDataSettings
RawDataSettings
Pengaturan data mentah.
Returns
byte [ ]
Data mentah default array.
GetModifyDate(Bool)
Dapatkan tanggal dan waktu gambar sumber yang terakhir diubah.
public virtual DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Jika ditentukan untuk ‘kebenaran’, gunakan informasi dari FileInfo sebagai nilai default.
Returns
Tanggal dan waktu gambar sumber yang terakhir diubah.
GetPixel(dengan int, int)
Dapatkan gambar piksel.
public Color GetPixel(int x, int y)
Parameters
x
int
Piksel X adalah lokasi.
y
int
Piksel dan lokasi.
Returns
Piksel warna untuk lokasi yang ditentukan.
Examples
Contoh berikut memuat gambar raster dan mendapatkan warna dari piksel arbitrari.
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()
Mendapatkan sudut sudut.Metode ini berlaku untuk dokumen teks yang dipindai, untuk menentukan sudut pemindaian saat pemindaian.
public float GetSkewAngle()
Returns
sudut sudut, dalam derajat
Grayscale()
Transformasi gambar menjadi representasi grayscale
public virtual void Grayscale()
Examples
Contoh berikut mengubah gambar raster berwarna menjadi representasi grayscale. gambar grayscale terdiri secara eksklusif dari bayangan kelabu dan hanya membawa informasi intensitas.
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)
Mengisi 32 bit ARGB pixel.
public int[] LoadArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Dari sudut kanan untuk mengisi piksel.
Returns
int [ ]
Array 32-bit ARGB pixel yang diisi.
Examples
Contoh berikut menunjukkan cara memuat dan memproses piksel dari gambar raster. piksel diwakili sebagai nilai total 32-bit. misalnya, pertimbangkan masalah menghitung piksel yang sepenuhnya transparan dari gambar.
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)
Mengisi 64-bit ARGB pixel
public long[] LoadArgb64Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Dari sudut kanan untuk mengisi piksel.
Returns
long [ ]
Array 64-bit ARGB yang diunggah.
Examples
Contoh berikut menunjukkan cara memuat dan memproses piksel dari gambar raster. piksel diwakili sebagai nilai keseluruhan 64-bit. misalnya, pertimbangkan masalah menghitung piksel yang sepenuhnya transparan dari gambar.
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)
Mengisi piksel dalam format CMYK.
public int[] LoadCmyk32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Dari sudut kanan untuk mengisi piksel.
Returns
int [ ]
Piksel CMYK yang dimuat hadir sebagai nilai inateger 32-bit.
LoadCmykPixels(Rectangle)
Mengisi piksel dalam format CMYK.Silakan gunakan metode Aspose.Imaging.RasterImage.LoadCmyk32Pixels(Aspose.Imaging.Rectangle) yang lebih efektif.
[Obsolete("Method is obsolete")]
public CmykColor[] LoadCmykPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Dari sudut kanan untuk mengisi piksel.
Returns
CmykColor [ ]
Piksel CMYK yang terisi.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)
Mengisi 32-bit ARGB piksel sebagian dengan paket.
public void LoadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
dengan rektangle yang diinginkan.
partialPixelLoader
IPartialArgb32PixelLoader
32 bit ARGB pixel loader.
Examples
Contoh berikut menunjukkan cara memuat dan memproses piksel dari gambar raster menggunakan prosesor parsial Anda sendiri. Contohnya, pertimbangkan masalah menghitung piksel sepenuhnya transparan dari gambar. Untuk menghitung piksel transparan menggunakan mekanisme pemuat parsial, kelas terpisah TransparentArgb32PixelCounter melaksanakan Aspose.Imaging.IPartialArgb32PixelLoader diperkenalkan.
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(Rectangle, IPartialArgb64PixelLoader)
Mengisi 64-bit ARGB piksel secara parsial dengan paket.
public void LoadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
dengan rektangle yang diinginkan.
partialPixelLoader
IPartialArgb64PixelLoader
64 bit ARGB pixel loader.
LoadPartialPixels(Rectangle dan IPartialPixelLoader)
Mengisi piksel secara parsial dengan paket.
public void LoadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)
Parameters
desiredRectangle
Rectangle
dengan rektangle yang diinginkan.
pixelLoader
IPartialPixelLoader
dengan pixel loader.
Examples
Contoh berikut menunjukkan cara memuat dan memproses piksel dari gambar raster menggunakan prosesor parsial Anda sendiri. Contohnya, pertimbangkan masalah menghitung piksel sepenuhnya transparan dari gambar. Untuk menghitung transparan menggunakan mekanisme pemuat parsial, kelas terpisah TransparentPixelCounter yang melaksanakan Aspose.Imaging.IPartialPixelLoader diperkenalkan.
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)
mengisi pixels.
public Color[] LoadPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Dari sudut kanan untuk mengisi piksel.
Returns
Color [ ]
Piksel yang diunggah.
Examples
Contoh berikut menunjukkan cara memuat dan memproses piksel dari gambar raster. misalnya, pertimbangkan masalah menghitung piksel sepenuhnya transparan dari gambar.
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);
}
Contoh ini menunjukkan cara memuat informasi Pixel dalam Array Type Color, memanipulasi array dan mengaturnya kembali ke gambar.Untuk melakukan operasi ini, contoh ini menciptakan file Image baru (dalam format GIF) uisng MemoryStream object.
//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)
Mengisi data mentah.
public void LoadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
rektangle untuk mengisi data mentah dari.
rawDataSettings
RawDataSettings
Pengaturan data mentah untuk digunakan untuk data yang dimuat. catatan jika data tidak dalam format yang ditentukan maka konversi data akan dilakukan.
rawDataLoader
IPartialRawDataLoader
Penyimpanan data mentah.
Examples
Contoh berikut menunjukkan cara mengekstrak piksel dari data gambar mentah menggunakan RawDataSettings. misalnya, pertimbangkan masalah menghitung piksel sepenuhnya transparan dari gambar.
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)
Mengisi data mentah.
public void LoadRawData(Rectangle rectangle, Rectangle destImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
rektangle untuk mengisi data mentah dari.
destImageBounds
Rectangle
Gambar yang terbatas.
rawDataSettings
RawDataSettings
Pengaturan data mentah untuk digunakan untuk data yang dimuat. catatan jika data tidak dalam format yang ditentukan maka konversi data akan dilakukan.
rawDataLoader
IPartialRawDataLoader
Penyimpanan data mentah.
NormalizeAngle()
Normalisasi sudutMetode ini berlaku untuk dokumen teks yang dipindai untuk menyingkirkan pemindaian.Metode ini menggunakan Aspose.Imaging.RasterImage.GetSkewAngle dan Aspose.Imaging.RasterImage.Rotate(System.Single) metode.
public void NormalizeAngle()
NormalizeAngle(Putih, Warna)
Normalisasi sudutMetode ini berlaku untuk dokumen teks yang dipindai untuk menyingkirkan pemindaian.Metode ini menggunakan Aspose.Imaging.RasterImage.GetSkewAngle dan Aspose.Imaging.RasterImage.Rotate(System.Single,System.Boolean,Aspose.Imaging.Color) metode.
public virtual void NormalizeAngle(bool resizeProportionally, Color backgroundColor)
Parameters
resizeProportionally
bool
Jika Anda menetapkan ‘kebenaran’ Anda akan memiliki ukuran gambar Anda berubah sesuai dengan proyeksi rektangle (titik sudut) yang dialihkan dalam kasus lain yang meninggalkan dimensi tidak disentuh dan hanya konten gambar internal yang dialihkan.
backgroundColor
Color
warna dari latar belakang.
Examples
Skew adalah artifak yang dapat muncul selama proses pemindaian dokumen ketika teks/imej dokumen diputar pada sudut yang ringan. dapat memiliki berbagai penyebab tetapi yang paling umum adalah bahwa kertas salah ditempatkan selama pemindaian. Oleh karena itu, deskew adalah proses mendeteksi dan memperbaiki masalah ini pada file yang dipindai (iaitu bitmap) sehingga dokumen yang dipindai akan memiliki teks/imej yang disesuaikan dengan benar dan horizontal.
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()
Normalisasi histogram gambar — menyesuaikan nilai piksel untuk menggunakan semua julat yang tersedia.
public virtual void NormalizeHistogram()
ReadArgb32ScanLine(int)
Membaca seluruh garis pemindaian dengan indeks garis pemindaian yang ditentukan.
public int[] ReadArgb32ScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
Indeks berbasis nol dari garis pemindaian.
Returns
int [ ]
Garis pemindaian 32-bit ARGB warna nilai array.
ReadScanLine(int)
Membaca seluruh garis pemindaian dengan indeks garis pemindaian yang ditentukan.
public Color[] ReadScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
Indeks berbasis nol dari garis pemindaian.
Returns
Color [ ]
Garis pemindaian nilai warna pixel.
ReleaseManagedResources()
Pastikan tidak ada sumber daya yang tidak dikelola yang dilepaskan di sini, karena mereka mungkin sudah dilepaskan.
protected override void ReleaseManagedResources()
RemoveMetadata()
Menghapus metadata contoh gambar ini dengan menetapkan nilai Aspose.Imaging.Xmp.IHasxmpData. Null.
public override void RemoveMetadata()
ReplaceColor(warna, byte dan warna)
Mengganti satu warna dengan yang lain dengan perbedaan yang diizinkan dan mempertahankan nilai alfa asli untuk menyelamatkan tepi yang halus.
public void ReplaceColor(Color oldColor, byte oldColorDiff, Color newColor)
Parameters
oldColor
Color
Warna lama harus diganti.
oldColorDiff
byte
Memungkinkan perbedaan warna lama untuk dapat memperluas nada warna yang digantikan.
newColor
Color
warna baru untuk menggantikan warna lama dengan.
ReplaceColor(int, byte, int dan)
Mengganti satu warna dengan yang lain dengan perbedaan yang diizinkan dan mempertahankan nilai alfa asli untuk menyelamatkan tepi yang halus.
public virtual void ReplaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)
Parameters
oldColorArgb
int
Nilai warna lama ARGB harus diganti.
oldColorDiff
byte
Memungkinkan perbedaan warna lama untuk dapat memperluas nada warna yang digantikan.
newColorArgb
int
Nilai warna baru ARGB untuk menggantikan warna lama dengan.
ReplaceNonTransparentColors(Color)
Mengganti semua warna yang tidak transparan dengan warna baru dan mempertahankan nilai alfa asli untuk menyelamatkan tepi yang halus.Catatan: jika Anda menggunakannya pada gambar tanpa transparansi, semua warna akan digantikan dengan satu.
public void ReplaceNonTransparentColors(Color newColor)
Parameters
newColor
Color
Warna baru untuk menggantikan warna yang tidak transparan dengan.
ReplaceNonTransparentColors(int)
Mengganti semua warna yang tidak transparan dengan warna baru dan mempertahankan nilai alfa asli untuk menyelamatkan tepi yang halus.Catatan: jika Anda menggunakannya pada gambar tanpa transparansi, semua warna akan digantikan dengan satu.
public virtual void ReplaceNonTransparentColors(int newColorArgb)
Parameters
newColorArgb
int
Nilai warna baru ARGB untuk menggantikan warna yang tidak transparan dengan.
Resize(int, int, ImageResizeSettings)
Memutar ulang gambar dengan pilihan yang diperpanjang.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
dengan lebar yang baru.
newHeight
int
ketinggian yang baru.
settings
ImageResizeSettings
Sesuai dengan peraturan resize.
Examples
Contoh ini memuat gambar raster dan menggunakannya kembali menggunakan berbagai pengaturan resizing.
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(Bulu, Bulu dan Warna)
Gambar berputar di sekitar pusat.
public virtual void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Sudut berputar dalam derajat. nilai positif akan berputar secara jam.
resizeProportionally
bool
Jika Anda menetapkan ‘kebenaran’ Anda akan memiliki ukuran gambar Anda berubah sesuai dengan proyeksi rektangle (titik sudut) yang dialihkan dalam kasus lain yang meninggalkan dimensi tidak disentuh dan hanya konten gambar internal yang dialihkan.
backgroundColor
Color
warna dari latar belakang.
Exceptions
Pengecualian yang tidak dilaksanakan
Rotate(kapal)
Gambar berputar di sekitar pusat.
public override void Rotate(float angle)
Parameters
angle
float
Sudut berputar dalam derajat. nilai positif akan berputar secara jam.
Save(Stream, ImageOptionsBase, Rectangle)
Menyimpan data gambar ke arus yang ditentukan dalam format file yang ditentukan sesuai dengan pilihan penyimpanan.
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
Aliran untuk menyimpan data gambar ke.
optionsBase
ImageOptionsBase
Pilihan yang disimpan.
boundsRectangle
Rectangle
Gambar tujuan membatasi rektangle. menetapkan rektangle kosong untuk menggunakan sumber batas.
SaveArgb32Pixels(Keberadaannya, int[])
Menyimpan 32-bit ARGB pixels.
public void SaveArgb32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
Menjaga rektangle untuk menyimpan piksel.
pixels
int
[ ]
Piksel ARGB 32 bit.
Examples
Contoh berikut mengisi area pusat gambar raster dengan piksel hitam menggunakan metode 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(Keberadaannya, int[])
Menyelamatkan Pixel
public void SaveCmyk32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
Menjaga rektangle untuk menyimpan piksel.
pixels
int
[ ]
Piksel CMYK disajikan sebagai nilai integral 32-bit.
Examples
Contoh berikut mengisi area pusat gambar raster dengan piksel hitam menggunakan metode 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(Rektangle dan CmykColor[])
Menyelamatkan PixelSilakan gunakan lebih efektif metode Aspose.Imaging.RasterImage.SaveCmyk32Pixels(Aspose.Imaging.Rectangle,System.Int32[]).
[Obsolete("Method is obsolete")]
public void SaveCmykPixels(Rectangle rectangle, CmykColor[] pixels)
Parameters
rectangle
Rectangle
Menjaga rektangle untuk menyimpan piksel.
pixels
CmykColor
[ ]
Piksel CMYK yang terpasang.
SavePixels(warna, warna[])
Menyelamatkan Pixel
public void SavePixels(Rectangle rectangle, Color[] pixels)
Parameters
rectangle
Rectangle
Menjaga rektangle untuk menyimpan piksel.
pixels
Color
[ ]
Pixel yang mengalir.
Examples
Contoh berikut mengisi area pusat gambar raster dengan piksel hitam menggunakan metode 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");
}
Contoh ini menunjukkan cara memuat informasi Pixel dalam Array Type Color, memanipulasi array dan mengaturnya kembali ke gambar.Untuk melakukan operasi ini, contoh ini menciptakan file Image baru (dalam format GIF) uisng MemoryStream object.
//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)
Menyimpan data mentah.
public void SaveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
data
byte
[ ]
Data yang mentah.
dataOffset
int
Data yang dimulai akan dikompensasi.
rectangle
Rectangle
Data yang berasal dari rektangle.
rawDataSettings
RawDataSettings
Data mentah mengatur data yang ada di.
SetArgb32Pixel(int, int, int dan int)
Menetapkan gambar 32-bit ARGB pixel untuk posisi yang ditentukan.
public void SetArgb32Pixel(int x, int y, int argb32Color)
Parameters
x
int
Piksel X adalah lokasi.
y
int
Piksel dan lokasi.
argb32Color
int
Piksel ARGB 32-bit untuk posisi yang ditentukan.
Examples
Contoh berikut memuat gambar raster, dan menetapkan warna dari piksel arbitrari.
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(Tembakau dan Bool)
Menetapkan palet gambar.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Palet yang harus ditentukan.
updateColors
bool
Jika ditetapkan pada warna ‘kebenaran’ akan diperbarui sesuai dengan palet baru; jika tidak indeks warna tetap tidak berubah. perhatikan bahwa indeks yang tidak berubah dapat merusak gambar pada muatan jika beberapa indeks tidak memiliki entri palet yang sesuai.
SetPixel(int, int, warna)
Menetapkan piksel gambar untuk posisi yang ditentukan.
public void SetPixel(int x, int y, Color color)
Parameters
x
int
Piksel X adalah lokasi.
y
int
Piksel dan lokasi.
color
Color
Piksel warna untuk posisi yang ditentukan.
Examples
Contoh berikut memuat gambar raster, dan menetapkan warna dari piksel arbitrari.
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(Double dan Double)
Menetapkan resolusi untuk Aspose.Imaging.RasterImage ini.
public virtual void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
Resolusi horizontal, dalam titik per inci, dari Aspose.Imaging.RasterImage.
dpiY
double
Resolusi vertikal, dalam titik per inci, dari Aspose.Imaging.RasterImage.
Examples
Contoh berikut menunjukkan bagaimana menetapkan resolusi horizontal/vertikal dari gambar 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()
Mengkonversi gambar raster ke bitmap.Metode ini tidak didukung dalam versi .Net7.0 dan lebih tinggi.
public virtual Bitmap ToBitmap()
Returns
dan bitmap
UpdateDimensions(dengan int, int)
Mengemas kini dimensi gambar.
protected abstract void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Gambar baru yang luas.
newHeight
int
Ketinggian gambar baru.
UpdateMetadata()
Mengemas kini gambar metadata.
protected virtual void UpdateMetadata()
WriteArgb32ScanLine(dengan int, int[])
Menulis seluruh garis pemindaian ke indeks garis pemindaian yang ditentukan.
public void WriteArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)
Parameters
scanLineIndex
int
Indeks berbasis nol dari garis pemindaian.
argb32Pixels
int
[ ]
32-bit ARGB warna dapat ditulis.
WriteScanLine(warna, warna[])
Menulis seluruh garis pemindaian ke indeks garis pemindaian yang ditentukan.
public void WriteScanLine(int scanLineIndex, Color[] pixels)
Parameters
scanLineIndex
int
Indeks berbasis nol dari garis pemindaian.
pixels
Color
[ ]
Warna piksel bisa ditulis.