Class PngImage
Nazwa przestrzeń: Aspose.Imaging.FileFormats.Png Zgromadzenie: Aspose.Imaging.dll (25.4.0)
Manipuluj obrazy rasterów Portable Network Graphics (PNG) za pomocą naszej wszechstronnej API,zapewnia wsparcie dla poziomu kompresji i różnych głębokości kolorów, w tymGrayscale, kolor indeksowany, TrueColor i kanały alfa. bezprzewodowo przetwarza metadane XMP,umożliwia kompleksowe zarządzanie metadatami obrazu, a jednocześnie łatwe ładowanie obrazów PNG,wykonywanie różnych manipulacji, stosowanie filtrów i konwertowanie obrazów do innych plikówFormaty dla optymalnej wszechstronności i dostosowania.
[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
Dziedziczeni członkowie
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
Ten przykład pokazuje, jak pobrać obraz PNG z pliku.
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(i int, int)
Inicjalizuj nowy obiekt klasy Aspose.Imaging.FileFormats.Png. PngImage, dostarczającszerokość i wysokość parametrów. ten konstruktor ułatwia tworzenie PNGobrazów, umożliwiając programistom określenie wymiarów bezpośrednio, ułatwiająceEfektywne zarządzanie danymi obrazowymi PNG w ramach ich aplikacji.
public PngImage(int width, int height)
Parameters
width
int
i szerokości .
height
int
i wysokość .
Examples
Ten przykład pokazuje, jak utworzyć obraz PNG określonego rozmiaru, wypełnić go solidnym kolorem i przechowywać go do pliku.
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(strumień)
Tworzenie nowej instancji klasy Aspose.Imaging.FileFormats.Png. PngImage za pomocą trasyparametr, aby określić lokalizację pliku obrazu do ładowania.umożliwia programistom wygodne tworzenie obrazów PNG poprzez pobieranie ich z pliku,Uproszczanie procesu pracy z obrazami PNG w ich aplikacjach.
public PngImage(string path)
Parameters
path
string
Droga do ładowania obrazu.
Examples
Ten przykład pokazuje, jak pobrać obraz PNG z pliku.
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)
Tworzenie nowej instancji klasy Aspose.Imaging.FileFormats.Png. PngImage poprzez dostarczanie rasteraobraz jako parametr. ten konstruktor umożliwia twórcom bezpośrednio inicjalizacjęObiekt obrazu PNG wykorzystuje istniejący obraz raster, ułatwiając procesPraca z obrazami PNG w ich aplikacjach.
public PngImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
Wizerunek rasterów.
Examples
Ten przykład pokazuje, jak pobierać obraz PNG z obrazu 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(strumień, PngColorType)
Inicjalizuje nową instancję klasy Aspose.Imaging.FileFormats.Png. PngImage, określającścieżka do pliku obrazu i typu koloru. ten konstruktor pozwala na wygodnetworzenie obrazów PNG z plików z różnymi typami kolorów, zapewniającelastyczność w obsłudze różnych formatów obrazu.
public PngImage(string path, PngColorType colorType)
Parameters
path
string
Droga do ładowania obrazu.
colorType
PngColorType
Rodzaj kolorów .
Examples
Ten przykład pokazuje, jak pobrać obraz PNG z pliku z określonym typem koloru.
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(Szydło, PngColorType)
Tworzenie nowej instancji klasy Aspose.Imaging.FileFormats.Png. PngImage poprzez określenieobraz raster i rodzaj koloru. ten konstruktor umożliwia programistom bezpośrednioKonwertować obrazy raster w formacie PNG, określając pożądany typ koloru,Oferujemy elastyczność w kolorze.
public PngImage(RasterImage rasterImage, PngColorType colorType)
Parameters
rasterImage
RasterImage
Wizerunek rasterów.
colorType
PngColorType
Rodzaj kolorów .
Examples
Ten przykład pokazuje, jak pobierać obraz PNG z obrazu BMP z określonym typem koloru.
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)
Tworzenie nowej instancji klasy Aspose.Imaging.FileFormats.Png. PngImage poprzez jej inicjalizacjęKonstruktor ten umożliwia deweloperom ładowanie obrazów PNG bezpośrednioz prądu, zapewniając elastyczność w odzyskaniu obrazu z różnych źródeł.
public PngImage(Stream stream)
Parameters
stream
Stream
Strumień do ładowania obrazu.
Examples
Ten przykład pokazuje, jak pobrać obraz PNG z pliku lub strumienia plików.
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)
Zainstaluj nową instancję klasy Aspose.Imaging.FileFormats.Png. PngImage, określającwymagane szerokość, wysokość i parametry typu koloru. ten konstruktor umożliwiaszybkie tworzenie obrazów PNG z dostosowanymi wymiarami i konfiguracjami kolorów,ułatwianie zrównoważonej generacji obrazu dla różnych aplikacji i przepływów pracy.
public PngImage(int width, int height, PngColorType colorType)
Parameters
width
int
i szerokości .
height
int
i wysokość .
colorType
PngColorType
Rodzaj kolorów .
Examples
Ten przykład pokazuje, jak utworzyć obraz PNG określonego rozmiaru za pomocą określonego typu koloru, wypełnić go solidnym kolorem i przechowywać go do pliku.
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(Opcje Png, Int, int)
Inicjalizuj nową instancję klasy Aspose.Imaging.FileFormats.Png. PngImage, włączającOpcje PNG wraz z parametrami szerokości i wysokości.Twórcy tworzą obrazy PNG z dostosowywanymi ustawieniami i wymiarami,Oferujemy elastyczność w generacji obrazu dla różnych przypadków użytkowania.
public PngImage(PngOptions pngOptions, int width, int height)
Parameters
pngOptions
PngOptions
Opcje opcji png.
width
int
i szerokości .
height
int
i wysokość .
Examples
Ten przykład pokazuje, jak utworzyć obraz PNG z określonymi opcjami, wypełnić go liniowym kolorem gradientowym i przechowywać go do pliku.
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
Odtwarza kolor tła obrazu, jeśli jeden jest określony.jest przydatny dla aplikacji, które muszą identyfikować i potencjalnie manipulowaćkolor tła obrazu.
public override Color BackgroundColor { get; set; }
Wartość nieruchomości
Examples
Poniższy przykład pokazuje, jak ustawić w pełni przejrzyste kolory dla części obrazu TrueColor PNG, który nie obsługuje kanału 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
Odzyskanie wartości bitów na piksel dla obrazu. ta właściwość zapewnia kluczoweinformacje dotyczące głębokości koloru obrazu, umożliwiając programistomzrozumienie poziomu szczegółów i dokładności kolorów obecnych w danych obrazu.
public override int BitsPerPixel { get; }
Wartość nieruchomości
FileFormat
Odtwarza format pliku powiązanego z przykładem obrazu.właściwość dostarcza niezbędnych informacji dotyczących rodzaju pliku, umożliwiającEfektywna obsługa i przetwarzanie w oparciu o specyficzne wymagania formatu.
public override FileFormat FileFormat { get; }
Wartość nieruchomości
HasAlpha
Powraca wartość boolean wskazującą, czy obraz ma kanał alfa,które określają jego przejrzystość. ta nieruchomość jest przydatna dla aplikacjimusi zajmować się przejrzystością, umożliwiając programistom ustalenie, czyDodatkowe przetwarzanie jest wymagane, aby zająć się przejrzystymi obszarami w obrazie.
public override bool HasAlpha { get; }
Wartość nieruchomości
Examples
Poniższy przykład pokazuje, jak sprawdzić, czy obraz PNG obsługuje kanał 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
Odtwarza wartość boolean wskazującą, czy obraz ma kolor tła.Właściwość ta jest przydatna dla aplikacji wymagających określenia, czy obrazzawiera kolor tła, który może być ważny dla różnych procesówzadań takich jak kompozycja, renderowanie lub eksportowanie.
public override bool HasBackgroundColor { get; set; }
Wartość nieruchomości
Examples
Poniższy przykład pokazuje, jak ustawić w pełni przejrzyste kolory dla części obrazu TrueColor PNG, który nie obsługuje kanału 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
Zapewnia wartość boolean wskazującą, czy obraz zawiera przejrzystąKolor. ta nieruchomość jest niezbędna dla aplikacji, które muszą zarządzaćprzejrzystość, umożliwiając deweloperom ustalenie, czy dodatkowe przetwarzanie jestWymagana jest obsługa przejrzystych obszarów w obrazie.
public override bool HasTransparentColor { get; set; }
Wartość nieruchomości
Examples
Poniższy przykład pokazuje, jak ustawić w pełni przejrzyste kolory dla części obrazu TrueColor PNG, który nie obsługuje kanału 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
Zdobądź wysokość obrazu. ta właściwość zwraca wymiar pionowyobraz, umożliwiając deweloperom określenie jego wielkości w pikselach wzdłużWersyjna osią.
public override int Height { get; }
Wartość nieruchomości
HorizontalResolution
Odzyskiwanie lub modyfikacja rozdzielczości horyzontalnej obrazu.reprezentuje liczbę pikseli na cala wzdłuż osi horyzontalnejDostosowanie tej rozdzielczości może wpływać na fizyczny rozmiar obrazu, gdydrukowane lub wyświetlane.
public override double HorizontalResolution { get; set; }
Wartość nieruchomości
Examples
Poniższy przykład pokazuje, jak ustawić rozdzielczość horyzontalną / pionową obrazu 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
Odtwarza wartość boolean wskazującą, czy Aspose.Imaging.FileFormats.Png.interlaced, który określa, czy dane obrazu są przechowywane w progresywnejSzybszy sposób ładowania lub przesyłania.
public bool Interlaced { get; }
Wartość nieruchomości
IsInterlaced
Powraca wartość boolean wskazującą, czy instancja obrazu jest połączona.Właściwość jest niezbędna do optymalizacji strategii ładowania i zapewnienia efektywnościwydajność podczas przetwarzania obrazu lub wyświetlania zadań.
public bool IsInterlaced { get; }
Wartość nieruchomości
RawDataFormat
Dostęp do surowego formatu danych obrazu. ta właściwość zapewnia wgląd wJak dane obrazu są strukturowane wewnętrznie, co może być przydatne dla zaawansowanychZadanie przetwarzania obrazu lub konwersja formatu.
public override PixelDataFormat RawDataFormat { get; }
Wartość nieruchomości
Examples
Poniższy przykład pobiera obrazy PNG i drukuje informacje na temat formatu surowych danych i kanału 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
Odtwarza przejrzysty kolor obrazu, jeśli istnieje.wartościowe dla aplikacji wymagających precyzyjnego zarządzania obszarami przejrzystymiw obrazach, umożliwiając programistom dostęp i manipulację konkretnymiWykorzystywany kolor transparentny.
public override Color TransparentColor { get; set; }
Wartość nieruchomości
Examples
Poniższy przykład pokazuje, jak ustawić w pełni przejrzyste kolory dla części obrazu TrueColor PNG, który nie obsługuje kanału 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
Zapewnia dostęp do rozdzielczości pionowej obrazu. deweloperzy mogą korzystać zmajątku do odzyskania lub modyfikacji ustawienia rozliczenia, co wskazuje, żeLiczba pikseli na cala (PPI) wzdłuż osi pionowej obrazu.
public override double VerticalResolution { get; set; }
Wartość nieruchomości
Examples
Poniższy przykład pokazuje, jak ustawić rozdzielczość horyzontalną / pionową obrazu 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
Umożliwia odzyskanie szerokości obrazu, dostarczając niezbędnych informacjiO jego wymiarach. ta nieruchomość jest często wykorzystywana przez deweloperów dookreślenie szerokości obrazu, umożliwiając im wykonywanie różnych operacji opartych naNa jego rozmiarze
public override int Width { get; }
Wartość nieruchomości
XmpData
Dostęp lub modyfikacja metadanych powiązanych z Platformą Metadata Rozszerzającej (XMP)Właściwość ta ułatwia wydobycie, modyfikację lubDodanie metadanych, umożliwiając kompleksowe zarządzanie informacjami związanymi z obrazem.
public override XmpPacketWrapper XmpData { get; set; }
Wartość nieruchomości
Methods
GetDefaultOptions(Obiekt[])
Dostępne są opcje default.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
i argumentów .
Returns
Opcje domyślne
GetModifyDate(Bool)
Odtwarza harmonogram wskazujący najnowsze zmiany zasobówMetoda ta zapewnia dostęp do niezbędnych metadanych, umożliwiając aplikacje doUpewnij się, kiedy obraz został ostatnio zmieniony, ułatwiając śledzenie wersji iZarządzanie treścią .
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Jeśli ustawione na “prawdziwe”, użyj informacji z FileInfo jako wartości domyślnej.
Returns
Data i czas ostatniej modyfikacji obrazu zasobów.
GetOriginalOptions()
Otrzymuje opcje oparte na oryginalnych ustawieniach pliku.To może być przydatne, aby utrzymać głębokość i inne parametry oryginalnego obrazu niezmienione.Na przykład, jeśli ładujemy czarno-biały obraz PNG o 1 bit na piksel, a następnie przechowujemy go za pomocąAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, wydajny obraz PNG z 8-bitowym na piksel zostanie wyprodukowany.Aby tego uniknąć i zaoszczędzić obraz PNG z 1 bitem na piksel, użyj tej metody, aby uzyskać odpowiednie opcje oszczędnościowe i przejść jedo metody Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) jako drugiego parametru.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opcje oparte na oryginalnych ustawieniach pliku.
OnPaletteChanged(Kolorów, Kolorów)
Zastanawiamy się, kiedy paleta się zmienia.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Stara paleta
newPalette
IColorPalette
Nowa paleta
SaveData(Stream)
Oszczędność danych.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
w strumieniu .
UpdateDimensions(i int, int)
Aktualizacja wymiarów.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Nowa szerokość .
newHeight
int
Nowa wysokość .
UpdateMetadata()
Aktualizuje ostatnią datę i czas modyfikacji obrazu.
protected override void UpdateMetadata()