Class PngImage
Название пространства: Aspose.Imaging.FileFormats.Png Ассоциация: Aspose.Imaging.dll (25.4.0)
Manipulate Portable Network Graphics (PNG) raster images with our versatile API.поддержка уровня компрессии и различных цветовых глубин, включаяGrayscale, индексированный цвет, TrueColor и альфа каналы. беспрепятственно обрабатывают метаданные XMP,обеспечивает всеобъемлющее управление метаданными изображения, при этом легко загружает PNG-изображения;выполнение различных манипуляций, применение фильтров и конвертирование изображений в другие файлыФормат для оптимальной универсальности и персонализации.
[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
Наследованные члены
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
Этот пример показывает, как загрузить изображение PNG из файла.
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(Инт, Инт)
Инициализуйте новый объект класса Aspose.Imaging.FileFormats.Png. PngImage, предоставляяШирина и высота параметров. Этот конструктор упрощает создание PNGизображения, позволяя разработчикам прямо определить измерения, облегчаяЭффективное управление изображениями PNG в рамках их приложений.
public PngImage(int width, int height)
Parameters
width
int
и широты .
height
int
и высоты .
Examples
Этот пример показывает, как создать изображение PNG указанного размера, заполнить его твердым цветом и сохранить его в файл.
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(Стриг)
Создает новую инстанцию класса Aspose.Imaging.FileFormats.Png. PngImage с помощью маршрутапараметр, чтобы указать местоположение файла изображения для загрузки.позволяет разработчикам удобно создавать PNG изображения, загружая их из файла,Упрощение процесса работы с изображениями PNG в их приложениях.
public PngImage(string path)
Parameters
path
string
Путь к загрузке изображения.
Examples
Этот пример показывает, как загрузить изображение PNG из файла.
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)
Создает новую инстанцию класса Aspose.Imaging.FileFormats.Png. PngImage, предоставляя растеризображение как параметр. Этот конструктор позволяет разработчикам непосредственно инициироватьОбъект изображения PNG использует существующее изображение растер, упрощая процессРабота с изображениями PNG в их приложениях.
public PngImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
Изображение растер.
Examples
Этот пример показывает, как загрузить изображение PNG с изображения 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(Стриг, PngColorType)
Инициализует новую инстанцию класса Aspose.Imaging.FileFormats.Png. PngImage, указываяпуть к файлу изображения и цветовому типу.Этот конструктор позволяетсоздание PNG изображений из файлов с различными типами цвета, обеспечиваяГибкость в управлении различными форматами изображений.
public PngImage(string path, PngColorType colorType)
Parameters
path
string
Путь к загрузке изображения.
colorType
PngColorType
Тип цвета .
Examples
Этот пример показывает, как загрузить изображение PNG из файла с указанным цветовым типом.
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(РастерИнформация, PngColorType)
Создает новую инстанцию класса Aspose.Imaging.FileFormats.Png. PngImage, указываяизображение растер и цветный тип. Этот конструктор позволяет разработчикам непосредственноконвертировать изображения растер в PNG-формат при определении желаемого типа цвета,Предлагаем гибкость в цветовом представлении.
public PngImage(RasterImage rasterImage, PngColorType colorType)
Parameters
rasterImage
RasterImage
Изображение растер.
colorType
PngColorType
Тип цвета .
Examples
Этот пример показывает, как загрузить изображение PNG с изображения BMP с указанным цветовым типом.
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)
Создает новую инстанцию класса Aspose.Imaging.FileFormats.Png. PngImage, инициализируя ееЭтот конструктор позволяет разработчикам загружать изображения PNG непосредственноиз потока, обеспечивая гибкость в восстановлении изображения из различных источников.
public PngImage(Stream stream)
Parameters
stream
Stream
Поток для загрузки изображения.
Examples
Этот пример показывает, как загрузить изображение PNG из файла или потока файлов.
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)
Настаивайте новую инстанцию класса Aspose.Imaging.FileFormats.Png.pngImage, уточняяжелаемую ширину, высоту и цветные параметры.Этот конструктор позволяетбыстрое создание PNG изображений с адаптированными измерениями и цветовыми конфигурациями,Упрощение упрощенной генерации изображений для различных приложений и рабочих потоков.
public PngImage(int width, int height, PngColorType colorType)
Parameters
width
int
и широты .
height
int
и высоты .
colorType
PngColorType
Тип цвета .
Examples
Этот пример показывает, как создать изображение PNG указанного размера с указанным цветовым типом, заполнить его твердым цветом и сохранить его в файл.
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(Пнгопции, int, инт)
Инициализуйте новую инстанцию класса Aspose.Imaging.FileFormats.Png. PngImage, включаяОпции PNG рядом с шириной и высотой параметров.разработчики для создания изображений PNG с персонализированными настройками и измерениями,Предоставляет гибкость в генерации изображений для различных случаев использования.
public PngImage(PngOptions pngOptions, int width, int height)
Parameters
pngOptions
PngOptions
Опции для ПНК.
width
int
и широты .
height
int
и высоты .
Examples
Этот пример показывает, как создать изображение PNG с указанными опциями, заполнить его линейными градиентными цветами и сохранить его в файл.
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
Возврат фонового цвета изображения, если один из указан.Это полезно для приложений, которые должны идентифицировать и потенциально манипулировать.Цвет фонов изображения.
public override Color BackgroundColor { get; set; }
Стоимость недвижимости
Examples
Следующий пример показывает, как настроить полностью прозрачные цвета для части изображения TrueColor PNG, которая не поддерживает альфа-канал.
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
Установите бит по пикселю для изображения.Эта свойство обеспечивает решающее значениесведения о цветовой глубине изображения, позволяющие разработчикамПонимает уровень деталей и точность цвета, присутствующих в данных изображения.
public override int BitsPerPixel { get; }
Стоимость недвижимости
FileFormat
Обращает формат файла, связанный с изображением.собственность предоставляет важную информацию по типу файла, позволяющуюЭффективное обращение и обработка на основе специфических требований формата.
public override FileFormat FileFormat { get; }
Стоимость недвижимости
HasAlpha
Возвращает булеанную ценность, указывающую на то, имеет ли изображение альфа-канал,что определяет ее прозрачность. эта собственность полезна для применениянеобходимое для управления прозрачностью, позволяя разработчикам определить,Дополнительная обработка необходима для обработки прозрачных областей изображения.
public override bool HasAlpha { get; }
Стоимость недвижимости
Examples
Следующий пример показывает, как проверить, поддерживает ли изображение PNG альфа-канал.
// 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
Ретроцирует булеанную ценность, указывающую на то, имеет ли изображение цвет фонов.Это свойство полезно для приложений, которые должны определить, является ли изображениевключает в себя цвет фонов, который может быть важным для различных обработокТакие задачи, как композиция, рендеринг или экспорт.
public override bool HasBackgroundColor { get; set; }
Стоимость недвижимости
Examples
Следующий пример показывает, как настроить полностью прозрачные цвета для части изображения TrueColor PNG, которая не поддерживает альфа-канал.
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
обеспечивает булеанную ценность, указывающую на то, содержит ли изображение прозрачнуюЦвет. эта собственность имеет решающее значение для приложений, которые нуждаются в управлениипрозрачность, позволяющая разработчикам определить, является ли дополнительная обработкаНеобходимо обращаться с прозрачными регионами в изображении.
public override bool HasTransparentColor { get; set; }
Стоимость недвижимости
Examples
Следующий пример показывает, как настроить полностью прозрачные цвета для части изображения TrueColor PNG, которая не поддерживает альфа-канал.
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
Получить высоту изображения. эта собственность возвращает вертикальное измерениеизображение, позволяющее разработчикам определить его размер в пикселях вдольвертикальная оси.
public override int Height { get; }
Стоимость недвижимости
HorizontalResolution
Обратить или изменить горизонтальное разрешение изображения.представляет собой количество пикселей на дюйм вдоль горизонтальной осиРегулирование этого разрешения может повлиять на физический размер изображения, когдаНапечатаны или отображаются.
public override double HorizontalResolution { get; set; }
Стоимость недвижимости
Examples
Следующий пример показывает, как настроить горизонтальное/вертикальное разрешение изображения 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
Возвращает булеанную ценность, указывающую на то, является ли Aspose.Imaging.FileFormats.Png.pngImageinterlaced, который определяет, хранятся ли данные изображения в прогрессивномспособы для более быстрой зарядки или передачи.
public bool Interlaced { get; }
Стоимость недвижимости
IsInterlaced
Возвращает булеанную ценность, указывающую на то, является ли изображение взаимосвязано.недвижимость имеет решающее значение для оптимизации стратегий зарядки и обеспечения эффективностипроизводительность во время обработки изображений или заданий отображения.
public bool IsInterlaced { get; }
Стоимость недвижимости
RawDataFormat
Доступает к форматированию сырых данных изображения. эта собственность дает представление окак структурируются данные изображения внутри, что может быть полезным для продвинутыхОбработка изображений или конвертация формата.
public override PixelDataFormat RawDataFormat { get; }
Стоимость недвижимости
Examples
Следующий пример загружает изображения PNG и печатает информацию о формате сырых данных и альфа-канале.
// 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
Обращает прозрачный цвет изображения, если он существует.Важны для заявок, требующих точной обработки прозрачных областейв пределах изображений, позволяя разработчикам получить доступ и манипулировать конкретнымиПрозрачный цвет используется.
public override Color TransparentColor { get; set; }
Стоимость недвижимости
Examples
Следующий пример показывает, как настроить полностью прозрачные цвета для части изображения TrueColor PNG, которая не поддерживает альфа-канал.
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
обеспечивает доступ к вертикальному разрешению изображения. разработчики могут использоватьэто имущество для восстановления или модификации расположения разрешения, которое указывает наколичество пикселей на дюйм (PPI) вдоль вертикальной оси изображения.
public override double VerticalResolution { get; set; }
Стоимость недвижимости
Examples
Следующий пример показывает, как настроить горизонтальное/вертикальное разрешение изображения 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
Допускает восстановление ширины изображения, предоставляя необходимую информациюЭто свойство часто используется разработчиками дляопределить ширину изображения, позволяя им выполнять различные операции на основепо его размеру
public override int Width { get; }
Стоимость недвижимости
XmpData
Доступает или модифицирует метаданные, связанные с Платформой расширительных метадатов (XMP)с изображением. это имущество облегчает извлечение, модификацию илиДобавление метаданных, что позволяет всесторонне управлять информацией, связанной с изображением.
public override XmpPacketWrapper XmpData { get; set; }
Стоимость недвижимости
Methods
GetDefaultOptions(Объекты[])
Получите стандартные варианты.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
и аргументов .
Returns
Стандартные варианты
GetModifyDate(Боол)
Отзывы о временном диапазоне, указывающем на последние модификации ресурсаЭтот метод обеспечивает доступ к жизненно важным метаданным, позволяя приложениямвыяснить, когда изображение было в последний раз изменено, облегчить отслеживание версии иУправление контентом .
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Если вы настроены на «истинные», используйте информацию из FileInfo в качестве предпочтительной стоимости.
Returns
Дата и время последней модификации изображения ресурса.
GetOriginalOptions()
Получает опции, основанные на первоначальных настройках файла.Это может быть полезным для сохранения детальной глубины и других параметров оригинального изображения неизменными.Например, если мы загружаем черно-белый PNG-изображение с 1 битом на пиксель, а затем сохраним его с помощьюAspose.Imaging.DataStreamSupporter.Save(System.String) метод, выходный PNG изображение с 8-битным на пиксель будет производиться.Чтобы избежать этого и сохранить изображение PNG на 1 бит на пиксель, используйте этот метод, чтобы получить соответствующие варианты сохранения и пройти их.в метод Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) как второй параметр.
public override ImageOptionsBase GetOriginalOptions()
Returns
Опции, основанные на первоначальных настройках файла.
OnPaletteChanged(Коллекция, Коллекция, Коллекция)
Назовите, когда палет меняется.
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
Старый палец
newPalette
IColorPalette
Новая палитра .
SaveData(Stream)
Сохранение данных .
protected override void SaveData(Stream stream)
Parameters
stream
Stream
и потока .
UpdateDimensions(Инт, Инт)
Обновление измерений.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Новая ширина .
newHeight
int
Новая высота .
UpdateMetadata()
Обновляет дату и время последней модификации изображения.
protected override void UpdateMetadata()