Class PngImage
nazivni prostor: Aspose.Imaging.FileFormats.Png Sastav: Aspose.Imaging.dll (25.4.0)
Manipulirajte Portable Network Graphics (PNG) raster slike pomoću našeg sveobuhvatnog API-ja,pruža potporu za razine kompresije i različite dubine boje, uključujućiGrayscale, Indexed Color, TrueColor i alfa kanali. bezuvjetno obrađuju XMP metapodatke,omogućuje sveobuhvatno upravljanje metapodatkom slike, a istodobno lako preuzimanje PNG slika,obavljanje različitih manipulacija, primjena filtera i pretvaranje slika u druge datotekeoptimalne raznolikosti i prilagodbe.
[JsonObject(MemberSerialization.OptIn)]
public class PngImage : RasterCachedImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← PngImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata
naslijeđeni članovi
RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.OnCached() , RasterCachedImage.OnPaletteChanged(IColorPalette, IColorPalette) , RasterCachedImage.IsCached , RasterImage.xmpData , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.ReleaseManagedResources() , RasterImage.UpdateMetadata() , RasterImage.UpdateDimensions(int, int) , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , RasterImage.DataLoader , 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 pokazuje kako preuzeti PNG sliku iz datoteke.
string dir = "c:\\temp\\";
// Load a PNG image from a file.
using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(dir + "sample.png"))
{
// Transform the image to grayscale representation
pngImage.Grayscale();
// Save to a file.
pngImage.Save(dir + "sample.grayscale.png");
}
Constructors
PngImage(u, u)
Inicijalizirajte novi objekt Aspose.Imaging.FileFormats.Png. PngImage razreda pružajućiparametri širine i visine.Ovaj konstruktor pojednostavljuje stvaranje PNG-aslika omogućavajući razvijalcima da izravno određuju dimenzije, olakšanjemUčinkovito upravljanje PNG slikama u njihovim aplikacijama.
public PngImage(int width, int height)
Parameters
width
int
Širina je.
height
int
Veličina je.
Examples
Ovaj primjer pokazuje kako stvoriti PNG sliku određene veličine, popuniti je čvrstom bojom i sačuvati ga u datoteku.
string dir = "c:\\temp\\";
// Create a PNG image of 100x100 px.
using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(100, 100))
{
// Do some image processing, e.g. fill the entire image in red.
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(pngImage);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
graphics.FillRectangle(brush, pngImage.Bounds);
// Save to a file.
pngImage.Save(dir + "output.png");
}
PngImage(String)
Izgradnja nove primjere Aspose.Imaging.FileFormats.Png. PngImage klase pomoću putaparametar za određivanje lokacije datoteke slike za punjenje.omogućuje razvijalcima da prikladno stvaraju PNG slike tako što ih preuzimaju iz datoteke,pojednostavnjenje procesa rada s PNG slikama u njihovim aplikacijama.
public PngImage(string path)
Parameters
path
string
Cesta za preuzimanje slike.
Examples
Ovaj primjer pokazuje kako preuzeti PNG sliku iz datoteke.
string dir = "c:\\temp\\";
// Load a PNG image from a file.
using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(dir + "sample.png"))
{
// Transform the image to grayscale representation
pngImage.Grayscale();
// Save to a file.
pngImage.Save(dir + "sample.grayscale.png");
}
PngImage(RasterImage)
Stvara novu primjenu Aspose.Imaging.FileFormats.Png. PngImage razreda pružajući rasterslika kao parametar.Ovaj konstruktor omogućuje razvijalcima da izravno inicijalizirajuPNG slika objekta koristeći postojeće raster slike, usporavajući procesrad s PNG slikama u njihovim aplikacijama.
public PngImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
Istraživanje raster slike.
Examples
Ovaj primjer pokazuje kako preuzeti PNG sliku iz BMP slike.
string dir = "c:\\temp\\";
// Load a TrueColor PNG image from a BMP image.
// First, create a temporal BMP image that will be a foundation for building a PNG image.
// You can also load BMP image from a file or use an image of any other raster format.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
// Fill the entire BMP image in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, bmpImage.Bounds);
using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(bmpImage))
{
System.Console.WriteLine("The PNG color type: {0}", pngImage.GetOriginalOptions());
pngImage.Save(dir + "output.png");
}
}
PngImage(String, PngColorType)
Inicijalizira novu primjenu Aspose.Imaging.FileFormats.Png. PngImage razreda određivanjemput do datoteke slike i tipa boje.Ovaj konstruktor omogućuje prikladnostvaranje PNG slika iz datoteka s različitim tipovima boje, pružajućifleksibilnost u upravljanju različitim formatima slike.
public PngImage(string path, PngColorType colorType)
Parameters
path
string
Cesta za preuzimanje slike.
colorType
PngColorType
Vrsta boje je.
Examples
Ovaj primjer pokazuje kako preuzeti PNG sliku iz datoteke s određenim tipom boje.
string dir = "c:\\temp\\";
// Load a PNG image from a file.
// Note that the colorful image will be converted to grayscale automatically.
using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(dir + "sample.png", Aspose.Imaging.FileFormats.Png.PngColorType.Grayscale))
{
// Save to a file.
pngImage.Save(dir + "sample.grayscale.png");
}
Exceptions
PngImage(RasterImage i PngColorType)
Stvaranje nove primjere Aspose.Imaging.FileFormats.Png. PngImage razreda određivanjemraster slika i tip boje.Ovaj konstruktor omogućuje razvijalcima da izravnopretvoriti raster slike u PNG format dok određuje željeni tip boje,pružanje fleksibilnosti u boji.
public PngImage(RasterImage rasterImage, PngColorType colorType)
Parameters
rasterImage
RasterImage
Istraživanje raster slike.
colorType
PngColorType
Vrsta boje je.
Examples
Ovaj primjer pokazuje kako preuzeti PNG sliku iz BMP slike s određenim tipom boje.
string dir = "c:\\temp\\";
// Load a grayscale PNG image from a colored BMP image.
// First, create a temporal BMP image that will be a foundation for building a PNG image.
// You can also load BMP image from a file or use an image of any other raster format.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
// Fill the entire BMP image in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, bmpImage.Bounds);
// The colors of the image pixels will be converted to their grayscale counterparts.
using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(bmpImage, Aspose.Imaging.FileFormats.Png.PngColorType.Grayscale))
{
pngImage.Save(dir + "output.grayscale.png");
}
}
PngImage(Stream)
Stvara novu primjenu Aspose.Imaging.FileFormats.Png. PngImage razreda inicijaliziranjemOvaj konstruktor omogućuje razvijalcima da izravno preuzmu PNG slikeiz struje, pružajući fleksibilnost u slikama povlačenja iz različitih izvora.
public PngImage(Stream stream)
Parameters
stream
Stream
Proljev za punjenje slike.
Examples
Ovaj primjer pokazuje kako preuzeti PNG sliku iz datoteke ili struje.
string dir = "c:\\temp\\";
// Load a PNG image from a file stream.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.png"))
{
using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(stream))
{
// Transform the image to grayscale representation
pngImage.Grayscale();
// Save to a file.
pngImage.Save(dir + "sample.grayscale.png");
}
}
PngImage(int, int i pngColorType)
Instantirajte novu primjenu Aspose.Imaging.FileFormats.Png. PngImage razreda, navodećipoželjna širina, visina i parametri tipa boje.Ovaj konstruktor omogućujebrzo stvaranje PNG slika s prilagođenim dimenzijama i konfiguracijama boja,olakšavajući usklađenu generaciju slike za različite aplikacije i radne tokove.
public PngImage(int width, int height, PngColorType colorType)
Parameters
width
int
Širina je.
height
int
Veličina je.
colorType
PngColorType
Vrsta boje je.
Examples
Ovaj primjer pokazuje kako stvoriti PNG sliku određene veličine s određenim tipom boje, popuniti ga čvrstom bojom i sačuvati ga u datoteku.
string dir = "c:\\temp\\";
// Create a grayscale PNG image of 100x100 px.
// All colors will be automatically converted to the grayscale format.
using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(100, 100, Aspose.Imaging.FileFormats.Png.PngColorType.Grayscale))
{
// Do some image processing, e.g. fill the entire image in red.
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(pngImage);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
graphics.FillRectangle(brush, pngImage.Bounds);
// Save to a file.
pngImage.Save(dir + "output.grayscale.png");
}
PngImage(PngOptions, int i int)
Inicijalizirajte novu primjenu Aspose.Imaging.FileFormats.png.PngImage razreda, uključujućiPNG opcije pored širine i visine parametara.Ovaj konstruktor omogućujerazvijatelji za stvaranje PNG slika s prilagodljivim postavkama i dimenzijama,pružanje fleksibilnosti u generaciji slike za različite slučajeve korištenja.
public PngImage(PngOptions pngOptions, int width, int height)
Parameters
pngOptions
PngOptions
Opcije za PNG.
width
int
Širina je.
height
int
Veličina je.
Examples
Ovaj primjer pokazuje kako stvoriti PNG sliku s određenim opcijama, popuniti ga linearnim gradientnim bojama i sačuvati ga u datoteku.
string dir = "c:\\temp\\";
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
// The number of bits per color channel
createOptions.BitDepth = 8;
// Each pixel is a (red, green, blue) triple followed by the alpha component.
createOptions.ColorType = Imaging.FileFormats.Png.PngColorType.TruecolorWithAlpha;
// The maximum level of compression.
createOptions.CompressionLevel = 9;
// Usage of filters allows to compress continuous tonal images more effectively.
createOptions.FilterType = Aspose.Imaging.FileFormats.Png.PngFilterType.Sub;
// Use progressive loading
createOptions.Progressive = true;
// Create a PNG image with custom parameters.
using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(createOptions, 100, 100))
{
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(pngImage.Width, pngImage.Height),
Aspose.Imaging.Color.Blue,
Aspose.Imaging.Color.Transparent);
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(pngImage);
// Fill the image with a semi-transparent gradient.
graphics.FillRectangle(gradientBrush, pngImage.Bounds);
// Save to a file.
pngImage.Save(dir + "output.explicitoptions.png");
}
Properties
BackgroundColor
Povlači boju pozadine slike, ako je određena.Korisna je za aplikacije koje moraju identificirati i potencijalno manipulirati.boja pozadine slike.
public override Color BackgroundColor { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako postaviti potpuno transparentne boje za dio TrueColor PNG slike koja ne podržava alfa kanal.
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource("c:\\temp\\transparent.png", false);
createOptions.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.Truecolor;
// Create a TrueColor PNG image of 100x100 px.
using (Aspose.Imaging.Image image = Image.Create(createOptions, 100, 100))
{
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)image;
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(pngImage);
// All red pixels will be considered as fully transparent.
pngImage.TransparentColor = Aspose.Imaging.Color.Red;
pngImage.HasTransparentColor = true;
// All transparent pixels will have a background color.
pngImage.BackgroundColor = Aspose.Imaging.Color.Green;
pngImage.HasBackgroundColor = true;
// Fill the entire image with white color.
gr.FillRectangle(new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.White), pngImage.Bounds);
// Fill the top-left quarter of the image with the transparent color.
// This makes the top-left quarter colored in the background color.
Rectangle rect = new Rectangle(0, 0, pngImage.Width / 2, pngImage.Height / 2);
gr.FillRectangle(new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red), rect);
pngImage.Save();
}
BitsPerPixel
Obnavljajte bitove po pikselu za sliku. ova svojstva pružaju ključnu vrijednostinformacije o boji dubine slike, omogućavajući razvijalcima darazumijevanje razine detalja i točnosti boje prisutne u podacima slike.
public override int BitsPerPixel { get; }
Vrijednost nekretnina
FileFormat
Povratak formata datoteke povezan s primjerom slike.vlasništvo pruža bitne informacije o vrsti datoteke, omogućavajućiučinkovito upravljanje i obradu na temelju specifičnih zahtjeva za format.
public override FileFormat FileFormat { get; }
Vrijednost nekretnina
HasAlpha
Vrati boolean vrijednost koja ukazuje na to ima li sliku alfa kanal,koja određuje njezinu transparentnost. ova imovina je korisna za aplikacijemora se nositi s transparentnošću, omogućavajući razvijalcima da utvrdeDodatna obrada je potrebna za rukovanje transparentnim područjima u slici.
public override bool HasAlpha { get; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako provjeriti podržava li PNG sliku alfa kanala.
// Get all supported PNG color types.
System.Array colorTypes = System.Enum.GetValues(typeof(Aspose.Imaging.FileFormats.Png.PngColorType));
foreach (Aspose.Imaging.FileFormats.Png.PngColorType colorType in colorTypes)
{
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Sources.StreamSource(new System.IO.MemoryStream());
createOptions.ColorType = colorType;
using (Aspose.Imaging.Image image = Image.Create(createOptions, 100, 100))
{
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)image;
if (pngImage.HasAlpha)
{
System.Console.WriteLine("A {0} PNG image supports alpha channel", createOptions.ColorType);
}
else
{
System.Console.WriteLine("A {0} PNG image doesn't support alpha channel", createOptions.ColorType);
}
}
}
// The output looks like this:
// A Grayscale PNG image doesn't support alpha channel
// A Truecolor PNG image doesn't support alpha channel
// A IndexedColor PNG image doesn't support alpha channel
// A GrayscaleWithAlpha PNG image supports alpha channel
// A TruecolorWithAlpha PNG image supports alpha channel
HasBackgroundColor
Vrati boolean vrijednost koja ukazuje da li slika ima boju pozadine.Ova imovina je korisna za aplikacije koje moraju utvrditi je li slikasadrži boju pozadine, koja može biti važna za različite obradezadatke kao što su kompozicija, renderiranje ili izvoz.
public override bool HasBackgroundColor { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako postaviti potpuno transparentne boje za dio TrueColor PNG slike koja ne podržava alfa kanal.
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource("c:\\temp\\transparent.png", false);
createOptions.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.Truecolor;
// Create a TrueColor PNG image of 100x100 px.
using (Aspose.Imaging.Image image = Image.Create(createOptions, 100, 100))
{
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)image;
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(pngImage);
// All red pixels will be considered as fully transparent.
pngImage.TransparentColor = Aspose.Imaging.Color.Red;
pngImage.HasTransparentColor = true;
// All transparent pixels will have a background color.
pngImage.BackgroundColor = Aspose.Imaging.Color.Green;
pngImage.HasBackgroundColor = true;
// Fill the entire image with white color.
gr.FillRectangle(new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.White), pngImage.Bounds);
// Fill the top-left quarter of the image with the transparent color.
// This makes the top-left quarter colored in the background color.
Rectangle rect = new Rectangle(0, 0, pngImage.Width / 2, pngImage.Height / 2);
gr.FillRectangle(new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red), rect);
pngImage.Save();
}
HasTransparentColor
Pružuje boolean vrijednost koja ukazuje na to da li slika sadrži transparentnuBoja. ova imovina je ključna za aplikacije koje trebaju upravljatitransparentnost, što omogućuje razvijalcima da utvrde je li dodatna obradaPotrebno je upravljati transparentnim područjima u slici.
public override bool HasTransparentColor { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako postaviti potpuno transparentne boje za dio TrueColor PNG slike koja ne podržava alfa kanal.
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource("c:\\temp\\transparent.png", false);
createOptions.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.Truecolor;
// Create a TrueColor PNG image of 100x100 px.
using (Aspose.Imaging.Image image = Image.Create(createOptions, 100, 100))
{
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)image;
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(pngImage);
// All red pixels will be considered as fully transparent.
pngImage.TransparentColor = Aspose.Imaging.Color.Red;
pngImage.HasTransparentColor = true;
// All transparent pixels will have a background color.
pngImage.BackgroundColor = Aspose.Imaging.Color.Green;
pngImage.HasBackgroundColor = true;
// Fill the entire image with white color.
gr.FillRectangle(new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.White), pngImage.Bounds);
// Fill the top-left quarter of the image with the transparent color.
// This makes the top-left quarter colored in the background color.
Rectangle rect = new Rectangle(0, 0, pngImage.Width / 2, pngImage.Height / 2);
gr.FillRectangle(new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red), rect);
pngImage.Save();
}
Height
Dobiti visinu slike. ova imovina vraća vertikalnu dimenzijusliku, što omogućuje razvijalcima da određuju njezinu veličinu u pikselima dužVertikalna osija
public override int Height { get; }
Vrijednost nekretnina
HorizontalResolution
Povratak ili izmjena horizontalne rezolucije slike. ova svojstvapredstavlja broj piksela po centimetarima duž horizontalne osiPrilagodba ove rezolucije može utjecati na fizičku veličinu slike kadaPritisnuto ili prikazano.
public override double HorizontalResolution { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako postaviti horizontalnu/vertikalnu rezoluciju slike PNG.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)image;
// Get horizontal and vertical resolution of the PngImage.
double horizontalResolution = pngImage.HorizontalResolution;
double verticalResolution = pngImage.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");
pngImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", pngImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", pngImage.VerticalResolution);
}
}
Interlaced
Vrati boolean vrijednost koja ukazuje na to je li Aspose.Imaging.FileFormats.Png.pngImageinterlaced, koji određuje je li slika podataka pohranjena u progresivnomnačin za brže punjenje ili prijenos.
public bool Interlaced { get; }
Vrijednost nekretnina
IsInterlaced
Vrati boolean vrijednost koja ukazuje na to je li primjer slike povezan.imovina je ključna za optimizaciju strategija opterećenja i osiguravanje učinkovitostiperformanse tijekom obrađivanja ili prikazivanja zadataka.
public bool IsInterlaced { get; }
Vrijednost nekretnina
RawDataFormat
Pristupa formatu surovih podataka slike.Ova imovina pruža uvid ukako su podaci slike strukturirani interno, što može biti korisno za napredneobrađivanja slika ili konverzije formata.
public override PixelDataFormat RawDataFormat { get; }
Vrijednost nekretnina
Examples
Sljedeći primjer preuzima PNG slike i štampa informacije o formatu sirovih podataka i alfa kanala.
// The PNG images to load.
string[] fileNames = new string[]
{
@"c:\temp\sample.png",
@"c:\temp\alpha.png",
};
foreach (string fileName in fileNames)
{
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(fileName))
{
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)image;
System.Console.WriteLine("ImageFile={0}, FileFormat={1}, HasAlpha={2}", fileName, pngImage.RawDataFormat, pngImage.HasAlpha);
}
}
// The output may look like this:
// ImageFile=c:\temp\sample.png, FileFormat=Rgb24Bpp, used channels: 8,8,8, HasAlpha=False
// ImageFile=c:\temp\alpha.png, FileFormat=RGBA32Bpp, used channels: 8,8,8,8, HasAlpha=True
TransparentColor
Obnavlja transparentnu boju slike, ako postoji.Vrijedno za zahtjeve koji zahtijevaju točno upravljanje transparentnim područjimaunutar slika, omogućavajući razvijalcima pristup i manipulaciju posebnimKoristi se transparentna boja.
public override Color TransparentColor { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako postaviti potpuno transparentne boje za dio TrueColor PNG slike koja ne podržava alfa kanal.
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource("c:\\temp\\transparent.png", false);
createOptions.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.Truecolor;
// Create a TrueColor PNG image of 100x100 px.
using (Aspose.Imaging.Image image = Image.Create(createOptions, 100, 100))
{
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)image;
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(pngImage);
// All red pixels will be considered as fully transparent.
pngImage.TransparentColor = Aspose.Imaging.Color.Red;
pngImage.HasTransparentColor = true;
// All transparent pixels will have a background color.
pngImage.BackgroundColor = Aspose.Imaging.Color.Green;
pngImage.HasBackgroundColor = true;
// Fill the entire image with white color.
gr.FillRectangle(new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.White), pngImage.Bounds);
// Fill the top-left quarter of the image with the transparent color.
// This makes the top-left quarter colored in the background color.
Rectangle rect = new Rectangle(0, 0, pngImage.Width / 2, pngImage.Height / 2);
gr.FillRectangle(new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red), rect);
pngImage.Save();
}
VerticalResolution
Pružuje pristup vertikalnoj rezoluciji slike. razvijalci mogu koristitita imovina za povlačenje ili izmjenu postavke rezolucije, što ukazuje naBroj piksela po centimetaru (PPI) duž vertikalne osi slike.
public override double VerticalResolution { get; set; }
Vrijednost nekretnina
Examples
Sljedeći primjer pokazuje kako postaviti horizontalnu/vertikalnu rezoluciju slike PNG.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)image;
// Get horizontal and vertical resolution of the PngImage.
double horizontalResolution = pngImage.HorizontalResolution;
double verticalResolution = pngImage.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");
pngImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", pngImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", pngImage.VerticalResolution);
}
}
Width
Omogućuje povlačenje širine slike, pružajući bitne informacijeo njegovim dimenzijama. ova imovina se često koristi od strane razvijatelja zaodređivanje širine slike, omogućavajući im da obavljaju različite operacije na temeljuU svojoj veličini
public override int Width { get; }
Vrijednost nekretnina
XmpData
Pristup ili izmjena povezanih metapodataka Extensible Metadata Platform (XMP)Ova imovina olakšava ekstrakciju, modifikaciju ilidodavanje metapodataka, omogućavajući sveobuhvatno upravljanje informacijama vezanim uz sliku.
public override XmpPacketWrapper XmpData { get; set; }
Vrijednost nekretnina
Methods
GetDefaultOptions(Objekt[])
Dobivaju se default opcije.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
i argumentima .
Returns
Podrazumevane opcije
GetModifyDate(Bolić)
Povratak vremenskog vijeka koji ukazuje na najnovije izmjene resursaOva metoda pruža pristup vitalnim metapodatima, omogućavajući aplikacije zaprovjeriti kada je slika posljednji put izmijenjena, olakšavajući praćenje verzije iUpravljanje sadržajem.
public override 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.
GetOriginalOptions()
Dobiva opcije na temelju originalnih postavki datoteke.To može biti korisno za održavanje bit-glob i drugih parametara izvorne slike nepromijenjene.Na primjer, ako preuzmemo crno-bijelu sliku PNG s 1 bitom po pikselu, a zatim je sačuvamo pomoćuAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, izlazna PNG slika s 8 bit po pikselu će se proizvesti.Da biste to izbjegli i sačuvali sliku s 1 bitom po pikselu, koristite ovu metodu kako biste dobili odgovarajuće opcije spašavanja i prošli ih.prema metodi Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) kao drugom parametru.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opcije temelje se na originalnim postavkama datoteke.
OnPaletteChanged(Sljedeći članakSljedeći članakSljedeći članakIcolorPalette)
Naziva se kada se paleta mijenja.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Stara je paleta.
newPalette
IColorPalette
Nova je paleta.
SaveData(Stream)
sačuvati podatke.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
U toku je.
UpdateDimensions(u, u)
Obavijest o dimenzijama.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
U novoj širini.
newHeight
int
U novoj visini.
UpdateMetadata()
ažurira datum i vrijeme posljednje izmjene slike.
protected override void UpdateMetadata()