Class RasterImage
nazivni prostor: Aspose.Imaging Sastav: Aspose.Imaging.dll (25.4.0)
Predstavlja raster sliku koja podržava raster grafičke operacije.
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
naslijeđeni članovi
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
Ovaj primjer prikazuje kako preuzeti podatke o Pixelu u rasponu tipa boje, manipulirati rasporedom i vratiti ga na sliku. da biste izvršili ove operacije, ovaj primjer stvara novu datoteku slike (u GIF formatu) uisng MemoryStream objekt.
//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()
Inicijalizira novu primjenu Aspose.Imaging.RasterImage razreda.
[JsonConstructor]
protected RasterImage()
RasterImage(ICOLORPALETE)
Inicijalizira novu primjenu Aspose.Imaging.RasterImage razreda.
protected RasterImage(IColorPalette colorPalette)
Parameters
colorPalette
IColorPalette
Boja je paleta.
Fields
xmpData
Metapodatke XMP
[JsonProperty]
protected XmpPacketWrapper xmpData
Vrijednost polja
Properties
DataLoader
Pronađite ili postavite punjač podataka.
[JsonProperty]
protected IRasterImageArgb32PixelLoader DataLoader { get; set; }
Vrijednost nekretnina
HasAlpha
Dobiva vrijednost koja ukazuje na to ima li ta instanca alfa.
public virtual bool HasAlpha { get; }
Vrijednost nekretnina
Examples
Sljedeći primjer preuzima raster slike i štampa informacije o formatu sirovih podataka i alfa kanala.
// 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
Sljedeći primjer pokazuje kako izvući informacije o formatu sirovih podataka i alfa kanala iz BMP slike.
// 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
Dobiva vrijednost koja ukazuje da li slika ima transparentnu boju.
public virtual bool HasTransparentColor { get; set; }
Vrijednost nekretnina
HorizontalResolution
Dobiva ili postavlja horizontalnu rezoluciju, u pikselima po centimetaru, ovog Aspose.Imaging.RasterImage.
public virtual double HorizontalResolution { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako postaviti horizontalnu/vertikalnu rezoluciju raster slike.
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
Podrazumevano, ova vrijednost je uvijek 96 jer različite platforme ne mogu vratiti rezoluciju zaslona. možete razmotriti korištenje metode SetResolution za ažuriranje oba vrijednosti rezolucije u jednom pozivu.
ImageOpacity
To je opacnost ove slike.
public virtual float ImageOpacity { get; }
Vrijednost nekretnina
IsRawDataAvailable
Dobiva vrijednost koja ukazuje na to je li na raspolaganju opterećenje sirovih podataka.
public bool IsRawDataAvailable { get; }
Vrijednost nekretnina
PremultiplyComponents
Dobivaju ili postavljaju vrijednost koja ukazuje na to treba li komponente slike biti premultiplicirane.
public virtual bool PremultiplyComponents { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer stvara novu raster sliku, spašava određene pola transparentne piksele, zatim preuzima te pikselove i dobiva konačne boje u predodređenom obliku.
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
Pronađite ili postavite prilagođeni konverter boje
public IColorConverter RawCustomColorConverter { get; set; }
Vrijednost nekretnina
RawDataFormat
Dobivaju formatu sirovih podataka.
public virtual PixelDataFormat RawDataFormat { get; }
Vrijednost nekretnina
Examples
Sljedeći primjer preuzima raster slike i štampa informacije o formatu sirovih podataka i alfa kanala.
// 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
Ovaj primjer pokazuje kako preuzeti DJVU sliku iz protok datoteke i tiskanje informacija o stranicama.
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
Pronađite trenutne postavke sirovih podataka. primijetite kada koristite ove postavke, podaci se opterećuju bez konverzije.
[JsonIgnore]
public RawDataSettings RawDataSettings { get; }
Vrijednost nekretnina
RawFallbackIndex
Dobiva ili postavlja padni indeks za upotrebu kada je paletni indeks izvan granica
public int RawFallbackIndex { get; set; }
Vrijednost nekretnina
RawIndexedColorConverter
Pronađite ili postavite indeksirani konverter boje
public IIndexedColorConverter RawIndexedColorConverter { get; set; }
Vrijednost nekretnina
RawLineSize
Dobiva veličinu sirove linije u bajtima.
public virtual int RawLineSize { get; }
Vrijednost nekretnina
TransparentColor
Dobivaju transparentnu boju slike.
public virtual Color TransparentColor { get; set; }
Vrijednost nekretnina
UpdateXmpData
Dobiva ili postavlja vrijednost koja ukazuje na to treba li ažurirati metapodatke XMP-a.
public virtual bool UpdateXmpData { get; set; }
Vrijednost nekretnina
UsePalette
Dobiva vrijednost koja ukazuje na to je li paleta slike upotrijebljena.
public override bool UsePalette { get; }
Vrijednost nekretnina
UseRawData
Dobiva ili postavlja vrijednost koja ukazuje na to da li treba koristiti teret sirovih podataka kada je teret sirovih podataka dostupan.
public virtual bool UseRawData { get; set; }
Vrijednost nekretnina
VerticalResolution
Dobiva ili postavlja vertikalnu rezoluciju, u pikselima po centimetaru, ovog Aspose.Imaging.RasterImage.
public virtual double VerticalResolution { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako postaviti horizontalnu/vertikalnu rezoluciju raster slike.
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
Podrazumevano, ova vrijednost je uvijek 96 jer različite platforme ne mogu vratiti rezoluciju zaslona. možete razmotriti korištenje metode SetResolution za ažuriranje oba vrijednosti rezolucije u jednom pozivu.
XmpData
Pronađite ili postavite XMP metapodatke.
public virtual XmpPacketWrapper XmpData { get; set; }
Vrijednost nekretnina
Methods
AdjustBrightness(int)
Prilagoditi svjetlost za sliku.
public virtual void AdjustBrightness(int brightness)
Parameters
brightness
int
Vrijednost svjetlosti
Examples
Sljedeći primjer provodi korekciju svjetlosti slike.
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(float)
kontrast slike
public virtual void AdjustContrast(float contrast)
Parameters
contrast
float
Vrijednost kontrasta (u rasponu [-100; 100])
Examples
Sljedeći primjer provodi kontrast korekciju slike.
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(plovilo, plovilo i plovilo)
Gamma korekcija slike.
public virtual void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma za koeficijenta crvenog kanala
gammaGreen
float
Gamma za zeleni kanal koeficijenta
gammaBlue
float
Gamma za kofein plavog kanala
Examples
Sljedeći primjer provodi gamma-korekciju slike primjenom različitih koeficijenata za komponente boje.
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(float)
Gamma korekcija slike.
public virtual void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma za koeficijenta crvenih, zelenih i plavih kanala
Examples
Sljedeći primjer provodi gamma korekciju slike.
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(Dvostruko)
Binarizacija slike pomoću Bradleyjevog adaptivnog pragova algoritma pomoću integriranog pragova slike
public virtual void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
Razlika u svjetlosti između piksela i prosjeka prozora s x s piksela usredotočenog oko ovog piksela.
BinarizeBradley(Dvostruka, int)
Binarizacija slike pomoću Bradleyjevog adaptivnog pragova algoritma pomoću integriranog pragova slike
public virtual void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Razlika u svjetlosti između piksela i prosjeka prozora s x s piksela usredotočenog oko ovog piksela.
windowSize
int
Veličina s x s prozora piksela usredotočenih oko ovog piksela
Examples
Sljedeći primjer binarizira raster sliku s Bradleyjevim adaptivnim algoritmom ograničenja s određenom veličinom prozora.
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)
Binarizacija slike s unaprijed definiranim pragom
public virtual void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Ako je odgovarajuća siva vrijednost piksela veća od granice, vrijednost od 255 će joj biti dodijeljena, 0 drugačije.
Examples
Sljedeći primjer binarizira raster sliku s unaprijed definiranim pragom. binarne slike sadrže samo 2 boje - crno i bijelo.
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()
Binarizacija slike s Otsu ograničenjem
public virtual void BinarizeOtsu()
Examples
Sljedeći primjer binarizira raster sliku s Otsu ograničenja. binarne slike sadrže samo 2 boje - crno i bijelo.
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(Točka, RasterImage, Rectangle, byte)
Pomiješajte ovaj primjer slike s slikom overlay".
public virtual void Blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha = 255)
Parameters
origin
Point
Slika pozadine miješanog porijekla.
overlay
RasterImage
Iznenađujuća je slika.
overlayArea
Rectangle
Područje za preopterećenje.
overlayAlpha
byte
Slijedeći članakAlfa.
Blend(Pozicija, RasterImage, Byte)
Pomiješajte ovaj primjer slike s slikom overlay".
public void Blend(Point origin, RasterImage overlay, byte overlayAlpha = 255)
Parameters
origin
Point
Slika pozadine miješanog porijekla.
overlay
RasterImage
Iznenađujuća je slika.
overlayAlpha
byte
Slijedeći članakAlfa.
Dither(Metoda izvođenja, int)
To se događa na trenutnoj slici.
public void Dither(DitheringMethod ditheringMethod, int bitsCount)
Parameters
ditheringMethod
DitheringMethod
Metoda za iscjedak.
bitsCount
int
Konačni bitovi računaju za dithering.
Examples
Sljedeći primjer opterećuje raster sliku i izvršava ograničenje i protjerivanje pomoću različitih dubina palete.
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(DitheringMetoda, int, IColorPalette)
To se događa na trenutnoj slici.
public abstract void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metoda za iscjedak.
bitsCount
int
Konačni bitovi računaju za dithering.
customPalette
IColorPalette
Korištenje prilagođene palete za dijetiranje.
Filter(Sljedeći članakFilterOptionsBase)
Filtrira određeni pravokut.
public virtual void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
U pravom dijelu.
options
FilterOptionsBase
i opcije .
Examples
Sljedeći primjer primjenjuje različite vrste filtera na raster sliku.
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(u, u)
Dobiva sliku s 32-bitnim ARGB pixelom.
public int GetArgb32Pixel(int x, int y)
Parameters
x
int
Piksela x lokacija.
y
int
Pixel i lokacija.
Returns
32-bitni ARGB pixel za određeno mjesto.
Examples
Sljedeći primjer preuzima raster sliku i dobiva boju arbitražnog piksela koji je prikazan kao 32-bitna cjelovita vrijednost.
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);
}
Sljedeći primjer pokazuje kako slikovni caching utječe na performanse.U općem slučaju, čitanje cache podataka obavlja se brže nego što čitaju ne-cache podatke.
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)
Dobiva privremenu rasponu 32-bitnih ARGB piksela.
public int[] GetDefaultArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
Slijedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeće →
Returns
int []
Predviđeni pikseli su u rasponu.
GetDefaultPixels(Rektangle, IPartialArgb32PixelLoader)
Pronađite podrazumevane piksele na rasponu pomoću djelomičnog pikselnog punjača.
public void GetDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
Slijedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeće →
partialPixelLoader
IPartialArgb32PixelLoader
Četvrti pixel punjač.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)
Pronađite podrazumevani raspon sirovih podataka pomoću djelomičnog pixelnog punjača.
public void GetDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
Slijedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeći članakSljedeće →
partialRawDataLoader
IPartialRawDataLoader
Djelomični surovi podatkovni punjač.
rawDataSettings
RawDataSettings
Nastavljanje sirovih podataka.
GetDefaultRawData(Sljedeći članakRightangle, RawDataSettings)
Pronađite privremeni raspon sirovih podataka.
public byte[] GetDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
U pravokuglu za dobivanje sirovih podataka.
rawDataSettings
RawDataSettings
Nastavljanje sirovih podataka.
Returns
byte []
Preporučuje se default raw data array.
GetModifyDate(Bolić)
Dodaje se datum i vrijeme kada je izvorna slika posljednji put izmijenjena.
public virtual DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
ako je postavljen na ‘pravda’ koristi informacije iz FileInfo kao podrazumevanu vrijednost.
Returns
Datum i vrijeme izvorne slike je posljednji put izmijenjen.
GetPixel(u, u)
Ima sliku s pixelom.
public Color GetPixel(int x, int y)
Parameters
x
int
Piksela x lokacija.
y
int
Pixel i lokacija.
Returns
Boja piksela za određeno mjesto.
Examples
Sljedeći primjer preuzima raster sliku i dobiva boju arbitrarnog piksela.
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()
Pronađite skijanje ugla.Ova se metoda primjenjuje na skenirane tekstne dokumente, kako bi se utvrdio kut skiva prilikom skeniranja.
public float GetSkewAngle()
Returns
Slijedeći Članak Slijedeći Članak Slijedeći Članak Slijedeći Članak Slijedeći Članak Slijedeći Članak
Grayscale()
Promjena slike u njezinu grayscale reprezentaciju
public virtual void Grayscale()
Examples
Sljedeći primjer pretvara obojenu rastersku sliku u njezinu graiskalnu reprezentaciju. Graiskalne slike sastoje se isključivo od sjene sive i nose samo informacije o intenzitetu.
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)
Preuzimanje 32-bitnih ARGB piksela
public int[] LoadArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
U pravom kutu za punjenje piksela.
Returns
int []
32-bitni ARGB pikseli su u rasponu.
Examples
Sljedeći primjer pokazuje kako preuzeti i obrađivati piksele raster slike.Pikseli su predstavljeni kao 32-bitne cjelovite vrijednosti.Na primjer, uzmite u obzir problem broja punopravnih pikselova sličnih slika.
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)
Preuzimanje 64-bitnih ARGB piksela
public long[] LoadArgb64Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
U pravom kutu za punjenje piksela.
Returns
long []
64-bitni ARGB pikseli su u rasponu.
Examples
Sljedeći primjer pokazuje kako preuzeti i obrađivati piksele raster slike.Pikseli su prikazani kao 64-bitne cjelovite vrijednosti.Na primjer, uzmite u obzir problem broja punopravnih pikselova sličnih slika.
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)
Preuzimanje piksela u CMYK formatu.
public int[] LoadCmyk32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
U pravom kutu za punjenje piksela.
Returns
int []
Preuzeti CMYK pikseli prisutni su kao 32-bitne inateger vrijednosti.
LoadCmykPixels(Rectangle)
Preuzimanje piksela u CMYK formatu.Molimo Vas da učinkovitije koristite metodu Aspose.Imaging.RasterImage.LoadCmyk32Pixels(__W L17_Rectangle).
[Obsolete("Method is obsolete")]
public CmykColor[] LoadCmykPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
U pravom kutu za punjenje piksela.
Returns
CmykColor []
Preuzeti CMYK pikseli array.
LoadPartialArgb32Pixels(Rektangle, IPartialArgb32PixelLoader)
32-bitni ARGB pikseli djelomično preuzimaju paketima.
public void LoadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
Željeni rektangul.
partialPixelLoader
IPartialArgb32PixelLoader
32-bitni ARGB pixel punjač.
Examples
Sljedeći primjer pokazuje kako preuzeti i obrađivati piksele raster slike pomoću vlastitog djelomičnog procesora. Na primjer, uzmite u obzir problem računanja potpuno transparentnih pikselova slike. Da biste izračunali transparentne pike koristeći delimični mehanizam punjenja, uvođen je odvojen razred TransparentArgb32PixelCounter implementacija Aspose.Imaging.IPartialArGB32PixelLoader.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Create an instance of the Aspose.Imaging.IPartialArgb32PixelLoader and pass it to the Aspose.Imaging.RasterImage.LoadPartialArgb32Pixels
TransparentArgb32PixelCounter counter = new TransparentArgb32PixelCounter();
// Load pixels for the whole image. Any rectangular part of the image can be specified as the first parameter of the Aspose.Imaging.RasterImage.LoadPartialArgb32Pixels method.
rasterImage.LoadPartialArgb32Pixels(rasterImage.Bounds, counter);
System.Console.WriteLine("The number of fully transparent pixels is {0}", counter.Count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
// The counter may look like this:
/// <summary>
/// Counts the number of fully transparent pixels with alpha channel value of 0.
/// </summary>
private class TransparentArgb32PixelCounter : IPartialArgb32PixelLoader
{
/// <summary>
/// The number of fully transparent pixels.
/// </summary>
private int count;
/// <summary>
/// Gets the number of fully transparent pixels.
/// </summary>
public int Count
{
get { return this.count; }
}
/// <summary>
/// Processes the loaded pixels. This method is called back every time when a new portion of pixels is loaded.
/// </summary>
/// <param name="pixelsRectangle"/>The pixels rectangle.
/// <param name="pixels"/>The 32-bit ARGB pixels.
/// <param name="start"/>The start pixels point.
/// <param name="end"/>The end pixels point.
public void Process(Aspose.Imaging.Rectangle pixelsRectangle, int[] pixels, Aspose.Imaging.Point start, Aspose.Imaging.Point end)
{
foreach (int pixel in pixels)
{
int alpha = (pixel >> 24) & 0xff;
if (alpha == 0)
{
this.count++;
}
}
}
}
LoadPartialArgb64Pixels(Rektangle, IPartialArgb64PixelLoader)
64-bitni ARGB pikseli djelomično preuzimaju paketima.
public void LoadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
Željeni rektangul.
partialPixelLoader
IPartialArgb64PixelLoader
64-bitni ARGB pixel punjač.
LoadPartialPixels(Rektangle, IPartialPixelLoader)
Pikseli se djelomično preuzimaju pakiranjem.
public void LoadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)
Parameters
desiredRectangle
Rectangle
Željeni rektangul.
pixelLoader
IPartialPixelLoader
To je pixel loader.
Examples
Sljedeći primjer pokazuje kako preuzeti i obrađivati piksele raster slike pomoću vlastitog djelomičnog procesora. Na primjer, uzmite u obzir problem računanja potpuno transparentnih pikselova slike. Kako bi se izračunalo transparentno koristeći mehanizam djelimičnog punjenja, uvođen je odvojen razred TransparentPixelCounter koji implementira Aspose.Imaging.IPartialPexelLoader.
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)
Preuzimanje piksela.
public Color[] LoadPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
U pravom kutu za punjenje piksela.
Returns
Color []
Slijedeći članakSlijedeći članakPixels array
Examples
Sljedeći primjer pokazuje kako preuzeti i obrađivati piksele raster slike. na primjer, uzmite u obzir problem broja punopravnih pikselova slika.
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);
}
Ovaj primjer prikazuje kako preuzeti podatke o Pixelu u rasponu tipa boje, manipulirati rasporedom i vratiti ga na sliku. da biste izvršili ove operacije, ovaj primjer stvara novu datoteku slike (u GIF formatu) uisng MemoryStream objekt.
//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)
Nastavljaju se sirovi podaci.
public void LoadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
U pravokuglu za punjenje sirovih podataka.
rawDataSettings
RawDataSettings
Primjerice, ako se podaci ne nalaze u određenom formatu, bit će izvršena konverzija podataka.
rawDataLoader
IPartialRawDataLoader
Korištenje surovih podataka.
Examples
Sljedeći primjer pokazuje kako izvući piksele iz podataka o sirovoj slici pomoću RawDataSettings. na primjer, uzmite u obzir problem računanja potpuno transparentnih pikselova slike.
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)
Nastavljaju se sirovi podaci.
public void LoadRawData(Rectangle rectangle, Rectangle destImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
U pravokuglu za punjenje sirovih podataka.
destImageBounds
Rectangle
Istraživanje je ograničeno.
rawDataSettings
RawDataSettings
Primjerice, ako se podaci ne nalaze u određenom formatu, bit će izvršena konverzija podataka.
rawDataLoader
IPartialRawDataLoader
Korištenje surovih podataka.
NormalizeAngle()
Normalizirajte ugled.Ova metoda se primjenjuje na skenirane tekstne dokumente kako bi se riješili skijane skeniranja.Ova metoda koristi metode Aspose.Imaging.RasterImage.GetSkewAngle i W L17.
public void NormalizeAngle()
NormalizeAngle(Boja, boja)
Normalizirajte ugled.Ova metoda se primjenjuje na skenirane tekstne dokumente kako bi se riješili skijane skeniranja.Ova metoda koristi metode Aspose.Imaging.RasterImage.GetSkewAngle i Wl17. RasterIme.Roate(System.Single,Systems.Boolean,W L17__.Color).
public virtual void NormalizeAngle(bool resizeProportionally, Color backgroundColor)
Parameters
resizeProportionally
bool
ako ste postavljeni na ‘pravi’ promijenit ćete veličinu slike u skladu s rotacijskim rektangularnim (kornim točkama) projekcijama u drugim slučajevima koje ostavljaju dimenzije bez dodira i samo unutarnje sadržaje slike su rotacije.
backgroundColor
Color
Boja pozadine.
Examples
Skew je artefakt koji se može pojaviti tijekom procesa skeniranja dokumenata kada se tekst / slike dokumenta vrti na laganom kutu. To može imati različite uzroke, ali najčešći je da se papir pogrešno nalazi tijekom skeniranje. Stoga, deskev je proces otkrivanja i ispravljanja ovog problema na skeniranim datotekama (tj. bitmap) tako da će desketirani dokumenti imati tekst/image pravilno i horizontalno prilagođeni.
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()
Normalizira histogram slike – prilagođava vrijednosti piksela za korištenje svih dostupnih opsega.
public virtual void NormalizeHistogram()
ReadArgb32ScanLine(int)
Čita cijelu liniju skeniranja po određenom indeksu skeniranja.
public int[] ReadArgb32ScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
Nula bazirani indeks skeniranja linije.
Returns
int []
Linija skeniranja 32-bitne ARGB boje vrijednosti rasponu.
ReadScanLine(int)
Čita cijelu liniju skeniranja po određenom indeksu skeniranja.
public Color[] ReadScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
Nula bazirani indeks skeniranja linije.
Returns
Color []
Scan linije pixel boja vrijednosti u redoslijedu.
ReleaseManagedResources()
Uklonite upravljane resurse. pobrinite se da se ovdje ne otpuštaju nekontrolirani resursi, budući da su možda već otpušteni.
protected override void ReleaseManagedResources()
RemoveMetadata()
Uklonite ovaj primjer metapodataka slike postavljanjem ove vrijednosti Aspose.Imaging.Xmp.IHasxmpData. Nula.
public override void RemoveMetadata()
ReplaceColor(Boja, bajt i boja)
Zamjenjuje jednu boju na drugu s dopuštenom razlikom i čuva originalnu alfa vrijednost kako bi se sačuvale glatke krajeve.
public void ReplaceColor(Color oldColor, byte oldColorDiff, Color newColor)
Parameters
oldColor
Color
Stara boja treba zamijeniti.
oldColorDiff
byte
Dopušteno je razliku u staroj boji kako bi se mogao proširiti zamijenjen ton boje.
newColor
Color
Nova boja za zamjenu stare boje.
ReplaceColor(Slijedeći članakInt, byte, int)
Zamjenjuje jednu boju na drugu s dopuštenom razlikom i čuva originalnu alfa vrijednost kako bi se sačuvale glatke krajeve.
public virtual void ReplaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)
Parameters
oldColorArgb
int
Stara boja ARGB vrijednost treba zamijeniti.
oldColorDiff
byte
Dopušteno je razliku u staroj boji kako bi se mogao proširiti zamijenjen ton boje.
newColorArgb
int
Nova boja ARGB vrijednost za zamjenu stare boje s.
ReplaceNonTransparentColors(Color)
Zamjenjuje sve neprozirne boje novim bojama i čuva originalnu alfa vrijednost kako bi se sačuvale glatke krajeve.Napomena: ako ga koristite na slikama bez transparentnosti, sve boje će biti zamijenjene jednim.
public void ReplaceNonTransparentColors(Color newColor)
Parameters
newColor
Color
Nova boja za zamjenu netransparentnih boja.
ReplaceNonTransparentColors(int)
Zamjenjuje sve neprozirne boje novim bojama i čuva originalnu alfa vrijednost kako bi se sačuvale glatke krajeve.Napomena: ako ga koristite na slikama bez transparentnosti, sve boje će biti zamijenjene jednim.
public virtual void ReplaceNonTransparentColors(int newColorArgb)
Parameters
newColorArgb
int
Nova boja ARGB vrijednost zamijeniti ne transparentne boje s.
Resize(int, int, ImageResizeUredi)
Obnovite sliku s proširenim opcijama.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
U novoj širini.
newHeight
int
U novoj visini.
settings
ImageResizeSettings
Određivanje nastavaka.
Examples
Ovaj primjer opterećuje raster sliku i ponavlja ga pomoću različitih postavki ponovnog podizanja.
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, boja i boja)
Rotacija slike oko središta.
public virtual void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Okretni kut u stupanjima. pozitivne vrijednosti će se okrenuti na sat.
resizeProportionally
bool
ako ste postavljeni na ‘pravi’ promijenit ćete veličinu slike u skladu s rotacijskim rektangularnim (kornim točkama) projekcijama u drugim slučajevima koje ostavljaju dimenzije bez dodira i samo unutarnje sadržaje slike su rotacije.
backgroundColor
Color
Boja pozadine.
Exceptions
Neizvještene iznimke
Rotate(float)
Rotacija slike oko središta.
public override void Rotate(float angle)
Parameters
angle
float
Okretni kut u stupanjima. pozitivne vrijednosti će se okrenuti na sat.
Save(Proljev, ImageOptionsBase, Rectangle)
Shrani podatke slike u određenom toku u određenom formatu datoteke prema opcijama spašavanja.
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
U toku kako bi se sačuvali podaci slike.
optionsBase
ImageOptionsBase
Opcije za spašavanje.
boundsRectangle
Rectangle
Ciljna slika ograničava pravokut. postavite prazan pravokut za korištenje izvornih granica.
SaveArgb32Pixels(Sljedeći Članak Int[])
Uštedi 32-bitne ARGB piksele.
public void SaveArgb32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
U pravom kutu za spašavanje piksela.
pixels
int
[]
32-bitni ARGB pikseli rasponu.
Examples
Sljedeći primjer ispunjava središnje područje raster slike crnim pikselima pomoću 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(Sljedeći Članak Int[])
Uštedjeti piksele.
public void SaveCmyk32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
U pravom kutu za spašavanje piksela.
pixels
int
[]
CMYK pikseli su predstavljeni kao 32-bitne cjelovite vrijednosti.
Examples
Sljedeći primjer ispunjava središnje područje raster slike crnim pikselima pomoću 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(Sljedeći Članak CmykColor[])
Uštedjeti piksele.Molimo Vas da učinkovitije koristite metodu Aspose.Imaging.RasterImage.SaveCmyk32Pixels(W L 17 .Rectangle,System.Int32[]).
[Obsolete("Method is obsolete")]
public void SaveCmykPixels(Rectangle rectangle, CmykColor[] pixels)
Parameters
rectangle
Rectangle
U pravom kutu za spašavanje piksela.
pixels
CmykColor
[]
CMYK pikseli su u rasponu.
SavePixels(Rektangle, boja[])
Uštedjeti piksele.
public void SavePixels(Rectangle rectangle, Color[] pixels)
Parameters
rectangle
Rectangle
U pravom kutu za spašavanje piksela.
pixels
Color
[]
Pikseli su na raspolaganju.
Examples
Sljedeći primjer ispunjava središnje područje raster slike crnim pikselima pomoću 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");
}
Ovaj primjer prikazuje kako preuzeti podatke o Pixelu u rasponu tipa boje, manipulirati rasporedom i vratiti ga na sliku. da biste izvršili ove operacije, ovaj primjer stvara novu datoteku slike (u GIF formatu) uisng MemoryStream objekt.
//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)
Uštedjeti sirove podatke.
public void SaveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
data
byte
[]
To su sirovi podaci.
dataOffset
int
Početak sirovih podataka isplaćuje.
rectangle
Rectangle
Riječ je o sirovim podacima.
rawDataSettings
RawDataSettings
Surovi podaci postavljaju podatke koji se nalaze u.
SetArgb32Pixel(int, int, int)
Sastavite sliku 32-bitnog ARGB piksela za određeno mjesto.
public void SetArgb32Pixel(int x, int y, int argb32Color)
Parameters
x
int
Piksela x lokacija.
y
int
Pixel i lokacija.
argb32Color
int
32-bitni ARGB pixel za određenu poziciju.
Examples
Sljedeći primjer preuzima raster sliku, i postavlja boju arbitrarnog piksela.
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(Sljedeći Članak IcolorPalette, bool)
Sastavite paletu slike.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Paleta za postavljanje.
updateColors
bool
ako je postavljena na ‘pravedna’ boja će se ažurirati prema novoj paleti; inače boja indeksi ostaju nepromijenjeni.
SetPixel(int, int, boja)
Sastavite sliku pixel za određenu poziciju.
public void SetPixel(int x, int y, Color color)
Parameters
x
int
Piksela x lokacija.
y
int
Pixel i lokacija.
color
Color
Pixel boja za određenu poziciju.
Examples
Sljedeći primjer preuzima raster sliku, i postavlja boju arbitrarnog piksela.
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(Dvostruko, dvostruko)
Sastavite rezoluciju za ovaj Aspose.Imaging.RasterImage.
public virtual void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
Horizontalna rezolucija, u točkama po centimetaru, Aspose.Imaging.RasterImage.
dpiY
double
Vertikalna rezolucija, u točkama po inču, Aspose.Imaging.RasterImage.
Examples
Sljedeći primjer pokazuje kako postaviti horizontalnu/vertikalnu rezoluciju raster slike.
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()
Konvertira raster sliku u bitmap.Ova metoda nije podržana u verzijama od .Net7.0 i novijih
public virtual Bitmap ToBitmap()
Returns
Bitmap je
UpdateDimensions(u, u)
ažurira dimenzije slike.
protected abstract void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Nova širina slike.
newHeight
int
Visina nove slike.
UpdateMetadata()
ažurira metapodatke slike.
protected virtual void UpdateMetadata()
WriteArgb32ScanLine(u, u[])
Napisati cijelu liniju skeniranja na indeks određene linije skeniranja.
public void WriteArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)
Parameters
scanLineIndex
int
Nula bazirani indeks skeniranja linije.
argb32Pixels
int
[]
32-bitna ARGB boja se prilagođava pisanju.
WriteScanLine(Svijet, boja[])
Napisati cijelu liniju skeniranja na indeks određene linije skeniranja.
public void WriteScanLine(int scanLineIndex, Color[] pixels)
Parameters
scanLineIndex
int
Nula bazirani indeks skeniranja linije.
pixels
Color
[]
Pixel boja se priprema za pisanje.