Class PngImage
Namn på plats: Aspose.Imaging.FileFormats.Png Församling: Aspose.Imaging.dll (25.4.0)
Manipulera Portable Network Graphics (PNG) rasterbilder med vår mångsidiga API,med stöd för komprimeringsnivåer och olika färgdjup inklusiveGrayscale, Indexed Color, TrueColor och alfa kanaler.möjliggör omfattande bildmetadatahantering, samtidigt som PNG-bilder lätt laddas,utföra olika manipulationer, tillämpa filter och konvertera bilder till andra filerFormat för optimal mångsidighet och anpassning.
[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
Arvsmedlemmar
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
Detta exempel visar hur man laddar upp en PNG-bild från en fil.
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(int, int)
Initialisera ett nytt objekt i Aspose.Imaging.FileFormats.Png.PngImage klass genom att tillhandahållabredd och höjd parametrar. Denna byggare förenklar skapandet av PNGbilder genom att tillåta utvecklare att ange dimensionerna direkt, underlättaeffektiv hantering av PNG-bilddata inom deras applikationer.
public PngImage(int width, int height)
Parameters
width
int
och bredden.
height
int
och höjden.
Examples
Detta exempel visar hur man skapar en PNG-bild av den angivna storleken, fyller den med en solid färg och sparar den i en fil.
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(Sträng)
Bygg en ny instans av Aspose.Imaging.FileFormats.Png.PngImage klass med hjälp av vägenparameter för att ange platsen för bildfilen att ladda.tillåter utvecklare att bekvämt skapa PNG-bilder genom att ladda dem från en fil,förenkla processen att arbeta med PNG-bilder i sina applikationer.
public PngImage(string path)
Parameters
path
string
Vägen att ladda en bild.
Examples
Detta exempel visar hur man laddar upp en PNG-bild från en fil.
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)
Skapar en ny instans av Aspose.Imaging.FileFormats.Png.PngImage klass genom att ge en rasterbild som en parameter. Denna konstruktör tillåter utvecklare att direkt initialisera enPNG-bildobjekt med hjälp av en befintlig rasterbild, förenklar processen förarbeta med PNG-bilder i deras applikationer.
public PngImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
och rasterbilden.
Examples
Detta exempel visar hur man laddar PNG-bild från en BMP-bild.
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(Sträng, PngColorType)
Initialiserar en ny instans av Aspose.Imaging.FileFormats.Png.PngImage klass genom att angeväg till bildfilen och färgtyp. Denna konstruktör gör det bekvämtskapa PNG-bilder från filer med olika färgtyper, vilket gerFlexibilitet i hanteringen av olika bildformat.
public PngImage(string path, PngColorType colorType)
Parameters
path
string
Vägen att ladda en bild.
colorType
PngColorType
Typ av färg.
Examples
Detta exempel visar hur man laddar upp en PNG-bild från en fil med den angivna färgtypen.
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, PngColorType)
Skapar en ny instans av Aspose.Imaging.FileFormats.Png.PngImage klass genom att ange enraster bild och en färg typ. Denna konstruktör gör det möjligt för utvecklare att direktKonvertera rasterbilder till PNG-format samtidigt som du anger önskad färgtyp,Flexibilitet i färgrepresentation.
public PngImage(RasterImage rasterImage, PngColorType colorType)
Parameters
rasterImage
RasterImage
och rasterbilden.
colorType
PngColorType
Typ av färg.
Examples
Detta exempel visar hur man laddar PNG-bild från en BMP-bild med den angivna färgtypen.
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)
Skapar en ny instans av Aspose.Imaging.FileFormats.Png.PngImage klass genom att initialisera denDenna konstruktör gör det möjligt för utvecklare att ladda PNG-bilder direktfrån en ström, vilket ger flexibilitet i bildåtervinning från olika källor.
public PngImage(Stream stream)
Parameters
stream
Stream
Ström för att ladda en bild.
Examples
Detta exempel visar hur man laddar upp en PNG-bild från en fil eller en filström.
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, PngColorType)
Instantera en ny instans av Aspose.Imaging.FileFormats.Png.PngImage klass, specificeraönskad bredd, höjd och färgtyp parametrar. Denna byggare kansnabb skapande av PNG-bilder med anpassade dimensioner och färgkonfigurationer,för att underlätta snabb bildgenerering för olika applikationer och arbetsflöden.
public PngImage(int width, int height, PngColorType colorType)
Parameters
width
int
och bredden.
height
int
och höjden.
colorType
PngColorType
Typ av färg.
Examples
Detta exempel visar hur man skapar en PNG-bild av den angivna storleken med den angivna färgtypen, fyller den med en solid färg och sparar den i en fil.
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, int)
Initialisera en ny instans av Aspose.Imaging.FileFormats.Png.PngImage klass, inklusivePNG-alternativ bredvid bredd och höjdparametrar. Denna konstruktör stärkerutvecklare att skapa PNG-bilder med anpassningsbara inställningar och dimensioner,ger flexibilitet i bildgenerering för olika användningsområden.
public PngImage(PngOptions pngOptions, int width, int height)
Parameters
pngOptions
PngOptions
Det är png alternativ.
width
int
och bredden.
height
int
och höjden.
Examples
Detta exempel visar hur man skapar en PNG-bild med de angivna alternativen, fyller den med en linjär gradientfärg och sparar den i en fil.
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
Returnerar bakgrundsfärgen på bilden, om en anges.är användbar för program som behöver identifiera och potentiellt manipulerabakgrundsfärgen på en bild.
public override Color BackgroundColor { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man ställer in helt transparenta färger för en del av en TrueColor PNG-bild som inte stöder alfa-kanalen.
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
Återställa bits per pixel värde för bilden. Denna egenskap ger avgörandeinformation om färgdjupet i bilden, vilket gör det möjligt för utvecklare attFörstå nivån av detalj och färg noggrannhet som finns i bilddata.
public override int BitsPerPixel { get; }
Fastighetsvärde
FileFormat
Returnerar formatet för filen som är associerad med bildinstans.fastigheten tillhandahåller väsentlig information om filtypen, möjliggöreffektiv hantering och bearbetning baserat på specifika formatkrav.
public override FileFormat FileFormat { get; }
Fastighetsvärde
HasAlpha
Returnerar ett booleanvärde som indikerar om bilden har en alfa-kanal,som bestämmer dess öppenhet. Denna egendom är användbar för ansökningarsom måste hantera öppenhet, vilket gör det möjligt för utvecklare att avgöra omYtterligare bearbetning krävs för att hantera transparenta områden i bilden.
public override bool HasAlpha { get; }
Fastighetsvärde
Examples
Följande exempel visar hur man kontrollerar om en PNG-bild stöder en alfa-kanal.
// 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
Retriever ett booleanvärde som indikerar om bilden har en bakgrundsfärg.Denna egenskap är användbar för applikationer som behöver bestämma om en bildinnehåller en bakgrundsfärg, vilket kan vara viktigt för olika bearbetningaruppgifter som komposition, rendering eller export.
public override bool HasBackgroundColor { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man ställer in helt transparenta färger för en del av en TrueColor PNG-bild som inte stöder alfa-kanalen.
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
ger ett booleanvärde som anger om bilden innehåller en transparentDenna egenskap är avgörande för applikationer som behöver hanteraöppenhet, vilket gör det möjligt för utvecklare att avgöra om ytterligare behandling ärkrävs för att hantera transparenta regioner i bilden.
public override bool HasTransparentColor { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man ställer in helt transparenta färger för en del av en TrueColor PNG-bild som inte stöder alfa-kanalen.
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
Få höjden på bilden. Denna egenskap returnerar den vertikala dimensionen avbilden, vilket gör det möjligt för utvecklare att bestämma dess storlek i pixlar längsVertikal axel .
public override int Height { get; }
Fastighetsvärde
HorizontalResolution
Återställa eller ändra den horisontella upplösningen av bilden.representerar antalet pixlar per tum längs den horisontella axeln avjustering av denna upplösning kan påverka den fysiska storleken på bilden närtryckt eller visat.
public override double HorizontalResolution { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man ställer in en horisontell/vertikal upplösning av en PNG-bild.
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
Retriever ett booleanvärde som indikerar om Aspose.Imaging.FileFormats.Png.PngImage ärinterlaced, vilket bestämmer om bilddata lagras i en progressivför snabbare laddning eller överföring.
public bool Interlaced { get; }
Fastighetsvärde
IsInterlaced
Returnerar ett booleanvärde som anger om bildinstansen är interluten.fastigheten är avgörande för att optimera laddningsstrategier och säkerställa effektivprestanda under bildbearbetning eller displayuppgifter.
public bool IsInterlaced { get; }
Fastighetsvärde
RawDataFormat
Tillträde till bildens rådataformat.Detta egendom ger inblick ihur bilddata struktureras internt, vilket kan vara användbart för avanceradebildbearbetningsuppgifter eller formatkonvertering.
public override PixelDataFormat RawDataFormat { get; }
Fastighetsvärde
Examples
Följande exempel laddar upp PNG-bilder och skriver ut information om rådataformat och alfa-kanal.
// 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
Returnerar den transparenta färgen på bilden, om den finns.värdefull för ansökningar som kräver noggrann hantering av transparenta områdeninom bilder, vilket gör det möjligt för utvecklare att komma åt och manipulera den specifikaTransparent färg som används.
public override Color TransparentColor { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man ställer in helt transparenta färger för en del av en TrueColor PNG-bild som inte stöder alfa-kanalen.
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
Tillhandahåller tillgång till bildens vertikala upplösning. utvecklarna kan användadenna egendom för att återta eller ändra resolutionsinställningen, vilket indikerarantal pixlar per tum (PPI) längs bildens vertikala axel.
public override double VerticalResolution { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man ställer in en horisontell/vertikal upplösning av en PNG-bild.
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
Tillåter återkoppling av bildens bredd, vilket ger viktig informationom dess dimensioner. denna egendom används ofta av utvecklare för attbestämma bildens bredd, vilket gör att de kan utföra olika operationer baserade påpå dess storlek
public override int Width { get; }
Fastighetsvärde
XmpData
Tillträde eller ändring av metadata som är kopplade till Extensible Metadata Platform (XMP)Denna egendom underlättar utvinning, modifiering, ellertillägg av metadata, vilket möjliggör omfattande hantering av bildrelaterad information.
public override XmpPacketWrapper XmpData { get; set; }
Fastighetsvärde
Methods
GetDefaultOptions(Objektet[])
Få de standardalternativen.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
och argumenten .
Returns
Standardalternativ
GetModifyDate(Bool)
Returnerar tidsramen som indikerar den senaste modifieringen av resursenDenna metod ger tillgång till vitala metadata, vilket gör att applikationer kanupptäcka när bilden senast ändrats, vilket underlättar spårning av versionen ochinnehållsförvaltning .
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Om du ställer in “true” använder du informationen från FileInfo som standardvärde.
Returns
Datum och tid resursbilden ändrades senast.
GetOriginalOptions()
Få alternativen baserat på de ursprungliga filinställningarna.Detta kan vara användbart för att hålla bitdjup och andra parametrar av den ursprungliga bilden oförändrad.Till exempel, om vi laddar en svartvitt PNG-bild med 1 bit per pixel och sedan sparar den med hjälp avAspose.Imaging.DataStreamSupporter.Save(System.String) metod, utgången PNG bild med 8-bitars per pixel kommer att produceras.För att undvika det och spara PNG-bild med 1-bit per pixel, använd denna metod för att få motsvarande spara alternativ och passera demtill Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) metod som andra parametrar.
public override ImageOptionsBase GetOriginalOptions()
Returns
Alternativ baserade på de ursprungliga filinställningarna.
OnPaletteChanged(Föregående inläggFöregående IColorPalette)
Kallas när paletten ändras.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Den gamla paletten.
newPalette
IColorPalette
Den nya paletten.
SaveData(Stream)
och spara data.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
och strömmen.
UpdateDimensions(int, int)
Uppdateringens dimensioner.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Den nya bredden.
newHeight
int
Den nya höjden.
UpdateMetadata()
Uppdatera bilden senast ändrade datum och tid.
protected override void UpdateMetadata()