Class PngImage
Il nome: Aspose.Imaging.FileFormats.Png Assemblea: Aspose.Imaging.dll (25.4.0)
Manipolare le immagini di raster della grafica di rete portatile (PNG) con la nostra API versatile,fornisce supporto per i livelli di compressione e varie profondità di colore, tra cuiGrayscale, Color Indicato, TrueColor e canali alfa. Processare senza sforzo i metadati XMP,consentire una gestione completa dei metadati dell’immagine, mentre facilmente caricare le immagini PNG,eseguire diverse manipolazioni, applicare filtri e convertire immagini in altri fileFormati per l’ottimale versatilità e personalizzazione.
[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
I membri ereditari
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
Questo esempio mostra come caricare un’immagine PNG da un file.
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(di int, int)
Iniziare un nuovo oggetto della classe Aspose.Imaging.FileFormats.Png. PngImage fornendo ilParametri di larghezza e altezza. Questo costruttore semplifica la creazione di PNGimmagini consentendo agli sviluppatori di specificare direttamente le dimensioni, facilitandoGestione efficiente dei dati di immagine PNG all’interno delle loro applicazioni.
public PngImage(int width, int height)
Parameters
width
int
La larghezza .
height
int
La altezza .
Examples
Questo esempio mostra come creare un’immagine PNG della dimensione specificata, riempirla con un colore solido e salverla in un file.
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)
Costruisce una nuova instanza della classe Aspose.Imaging.FileFormats.Png. PngImage utilizzando il percorsoparametri per specificare la posizione del file immagine da caricare.consentire agli sviluppatori di creare facilmente immagini PNG caricandole da un file,semplificare il processo di lavoro con le immagini PNG nelle loro applicazioni.
public PngImage(string path)
Parameters
path
string
Il percorso per caricare un’immagine.
Examples
Questo esempio mostra come caricare un’immagine PNG da un file.
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)
Crea una nuova instanza della classe Aspose.Imaging.FileFormats.Png. PngImage fornendo un rasterImmagine come parametro.Questo costruttore consente agli sviluppatori di inizializzare direttamente unaL’oggetto immagine PNG utilizzando un’immagine raster esistente, semplificando il processo dilavorare con le immagini PNG nelle loro applicazioni.
public PngImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
L’immagine del raster.
Examples
Questo esempio mostra come caricare l’immagine PNG da una immagine BMP.
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)
Inizia una nuova instanza della classe Aspose.Imaging.FileFormats.Png. PngImage specificando lapercorso al file immagine e al tipo di colore.Questo costruttore consente dicreazione di immagini PNG da file con diversi tipi di colore, fornendoflessibilità nella gestione di vari formati di immagine.
public PngImage(string path, PngColorType colorType)
Parameters
path
string
Il percorso per caricare un’immagine.
colorType
PngColorType
Il tipo di colore.
Examples
Questo esempio mostra come caricare un’immagine PNG da un file con il tipo di colore specificato.
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(Rassegna, PngColorType)
Crea una nuova instanza della classe Aspose.Imaging.FileFormats.Png. PngImage specificando unaImmagine di raster e un tipo di colore.Questo costruttore consente agli sviluppatori diConvertire le immagini di raster in formato PNG specificando il tipo di colore desiderato,Offre flessibilità nella rappresentazione dei colori.
public PngImage(RasterImage rasterImage, PngColorType colorType)
Parameters
rasterImage
RasterImage
L’immagine del raster.
colorType
PngColorType
Il tipo di colore.
Examples
Questo esempio mostra come caricare l’immagine PNG da una immagine BMP con il tipo di colore specificato.
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)
Crea una nuova instanza della classe Aspose.Imaging.FileFormats.Png. PngImage iniziandolaQuesto costruttore consente agli sviluppatori di caricare le immagini PNG direttamenteda un flusso, fornendo flessibilità nel recupero di immagini da diverse fonti.
public PngImage(Stream stream)
Parameters
stream
Stream
Il flusso per caricare un’immagine.
Examples
Questo esempio mostra come caricare un’immagine PNG da un file o un flusso di file.
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)
Instantare una nuova instanza della classe Aspose.Imaging.FileFormats.Png. PngImage, specificandola larghezza, l’altezza e i parametri del tipo di colore desiderati.Questo costruttore consentecreazione rapida di immagini PNG con dimensioni personalizzate e configurazioni di colore,facilitare la generazione di immagini semplificate per varie applicazioni e flussi di lavoro.
public PngImage(int width, int height, PngColorType colorType)
Parameters
width
int
La larghezza .
height
int
La altezza .
colorType
PngColorType
Il tipo di colore.
Examples
Questo esempio mostra come creare un’immagine PNG della dimensione specificata con il tipo di colore specificato, riempirla con un colore solido e salverla in un file.
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 e int)
Iniziare una nuova instanza della classe Aspose.Imaging.FileFormats.Png. PngImage, incorporandoOpzioni PNG accanto ai parametri di larghezza e altezza. Questo costruttore forniscesviluppatori per creare immagini PNG con impostazioni e dimensioni personalizzabili,Offrire flessibilità nella generazione dell’immagine per diversi casi di utilizzo.
public PngImage(PngOptions pngOptions, int width, int height)
Parameters
pngOptions
PngOptions
Le opzioni di PNG.
width
int
La larghezza .
height
int
La altezza .
Examples
Questo esempio mostra come creare un’immagine PNG con le opzioni specificate, riempirlo con un colore gradiente lineare e salvarlo in un file.
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
Retrò il colore di sfondo dell’immagine, se uno è specificato.è utile per le applicazioni che hanno bisogno di identificare e potenzialmente manipolareIl colore di un’immagine.
public override Color BackgroundColor { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come impostare colori completamente trasparenti per una parte di un’immagine TrueColor PNG che non supporta il canale alfa.
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
Retrate i bit per pixel per il valore dell’immagine.Questa proprietà fornisce fondamentaleinformazioni relative alla profondità del colore dell’immagine, consentendo agli sviluppatori dicomprendere il livello di dettaglio e precisione del colore presente nei dati dell’immagine.
public override int BitsPerPixel { get; }
Valore di proprietà
FileFormat
Retrieve il formato del file associato all’indice immagine.La proprietà fornisce informazioni essenziali riguardanti il tipo di file, consentendogestione efficiente e elaborazione basata sui requisiti di formato specifici.
public override FileFormat FileFormat { get; }
Valore di proprietà
HasAlpha
Ritorna un valore booleano che indica se l’immagine ha un canale alfa,che determina la sua trasparenza.Questa proprietà è utile per le applicazioniche deve gestire la trasparenza, consentendo agli sviluppatori di determinare seIl trattamento aggiuntivo è necessario per gestire aree trasparenti nell’immagine.
public override bool HasAlpha { get; }
Valore di proprietà
Examples
L’esempio seguente mostra come verificare se un’immagine PNG supporta un canale alfa.
// 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
Retrieve un valore booleano che indica se l’immagine ha un colore di sfondo.Questa proprietà è utile per le applicazioni che devono determinare se un’immagineinclude un colore di sfondo, che può essere importante per diversi processicompiti come la composizione, il rendering o l’esportazione.
public override bool HasBackgroundColor { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come impostare colori completamente trasparenti per una parte di un’immagine TrueColor PNG che non supporta il canale alfa.
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
Fornisce un valore booleano che indica se l’immagine contiene una trasparenteQuesta proprietà è fondamentale per le applicazioni che hanno bisogno di gestiretrasparenza, consentendo agli sviluppatori di determinare se il trattamento aggiuntivo ènecessaria per gestire regioni trasparenti nell’immagine.
public override bool HasTransparentColor { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come impostare colori completamente trasparenti per una parte di un’immagine TrueColor PNG che non supporta il canale alfa.
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
Ottieni l’altezza dell’immagine.Questa proprietà restituisce la dimensione verticale dellal’immagine, consentendo agli sviluppatori di determinare la sua dimensione in pixel lungo ildi assi verticali.
public override int Height { get; }
Valore di proprietà
HorizontalResolution
Ripristinare o modificare la risoluzione orizzontale dell’immagine.rappresenta il numero di pixel per pollice lungo l’asse orizzontale delAdattare questa risoluzione può influenzare la dimensione fisica dell’immagine quandostampato o visualizzato.
public override double HorizontalResolution { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come impostare la risoluzione orizzontale/vertica di un’immagine 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
Retrieve un valore booleano che indica se il Aspose.Imaging.FileFormats.Png. PngImage èinterlaced, che determina se i dati dell’immagine sono memorizzati in una progressivaModalità per il carico o la trasmissione più veloce.
public bool Interlaced { get; }
Valore di proprietà
IsInterlaced
Ritorna un valore booleano che indica se l’indice immagine è interlinkato.La proprietà è fondamentale per ottimizzare le strategie di ricarica e garantire efficienzaprestazioni durante i compiti di elaborazione dell’immagine o di visualizzazione.
public bool IsInterlaced { get; }
Valore di proprietà
RawDataFormat
Accede al formato dei dati crudi dell’immagine.Questa proprietà fornisce una visionecome i dati dell’immagine sono strutturati internamente, che possono essere utili per l’avanguardiacompiti di elaborazione dell’immagine o conversione del formato.
public override PixelDataFormat RawDataFormat { get; }
Valore di proprietà
Examples
L’esempio seguente carica immagini PNG e stampa informazioni sul formato dei dati crudi e il canale alfa.
// 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
Retrò il colore trasparente dell’immagine, se esiste.valido per le applicazioni che richiedono una gestione accurata delle aree trasparentiall’interno delle immagini, consentendo agli sviluppatori di accedere e manipolare laIl colore trasparente utilizzato.
public override Color TransparentColor { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come impostare colori completamente trasparenti per una parte di un’immagine TrueColor PNG che non supporta il canale alfa.
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
Fornisce accesso alla risoluzione verticale dell’immagine. gli sviluppatori possono utilizzaretale proprietà per ritirare o modificare l’impostazione di risoluzione, che indica ilNumero di pixel per pollice (PPI) lungo l’asse verticale dell’immagine.
public override double VerticalResolution { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come impostare la risoluzione orizzontale/vertica di un’immagine 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
Permette il recupero della larghezza dell’immagine, fornendo informazioni essenzialiQuesta proprietà è spesso utilizzata dagli sviluppatori perdeterminare la larghezza dell’immagine, consentendo loro di eseguire varie operazioni basatesulla sua dimensione
public override int Width { get; }
Valore di proprietà
XmpData
Accedere o modificare i metadati associati alla piattaforma di metadata estensibile (XMP)Questa proprietà facilita l’estrazione, la modifica, ol’aggiunta di metadati, consentendo una gestione completa delle informazioni relative all’immagine.
public override XmpPacketWrapper XmpData { get; set; }
Valore di proprietà
Methods
GetDefaultOptions(oggetto[])
Ottieni le opzioni di default.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
Gli argomenti .
Returns
Opzioni di default
GetModifyDate(di bool)
Retrò il timestamp indicando la modifica più recente della risorsaQuesto metodo fornisce accesso ai metadati vitali, consentendo alle applicazioni diverificare quando l’immagine è stata modificata per l’ultima volta, facilitando il tracciamento della versione eGestione dei contenuti.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
se impostato a ’true’ utilizza le informazioni di FileInfo come valore predefinito.
Returns
La data e l’ora dell’immagine risorsa è stata modificata per l’ultima volta.
GetOriginalOptions()
Riceve le opzioni in base alle impostazioni del file originale.Questo può essere utile per mantenere la profondità del bit e altri parametri dell’immagine originale invariati.Ad esempio, se caricamo un’immagine PNG in bianco e nero con 1 bit per pixel e lo salviamo utilizzando ilAspose.Imaging.DataStreamSupporter.Save(System.String) metodo, l’immagine PNG di uscita con 8 bit per pixel sarà prodotto.Per evitare e salvare l’immagine PNG con 1 bit per pixel, utilizzare questo metodo per ottenere le opzioni di risparmio corrispondenti e passare loroper il metodo Aspose.Imaging.Image.Save(System.String,_W L17.ImagineOptionsBase) come secondo parametro.
public override ImageOptionsBase GetOriginalOptions()
Returns
Le opzioni basate sulle impostazioni del file originale.
OnPaletteChanged(Il colore, il colore)
Chiamato quando la paletta è cambiata.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
La vecchia paletta.
newPalette
IColorPalette
La nuova paletta.
SaveData(Stream)
Il salvataggio dei dati.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Il flusso .
UpdateDimensions(di int, int)
Le dimensioni di aggiornamento.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
UpdateMetadata()
Aggiornare l’immagine data e ora dell’ultima modifica.
protected override void UpdateMetadata()