PngOptions
Содержание
[
Скрывать
]PngOptions class
Параметры создания файла формата png.
public class PngOptions : ImageOptionsBase
Конструкторы
Имя | Описание |
---|---|
PngOptions() | Инициализирует новый экземплярPngOptions класс. |
PngOptions(PngOptions) | Инициализирует новый экземплярPngOptions класс. |
Характеристики
Имя | Описание |
---|---|
BitDepth { get; set; } | Битовая глубина. |
BufferSizeHint { get; set; } | Получает или задает подсказку о размере буфера, которая определяет максимально допустимый размер для всех внутренних буферов. |
ColorType { get; set; } | Получает или задает тип цвета. |
CompressionLevel { get; set; } | Уровень сжатия изображения png в диапазоне от 0 до 9, где 9 — максимальное сжатие, а 0 — режим сохранения. |
Disposed { get; } | Получает значение, указывающее, удален ли этот экземпляр. |
FilterType { get; set; } | Получает или задает тип фильтра, используемый во время процесса сохранения файла png. |
FullFrame { get; set; } | Получает или задает значение, указывающее, является ли [полный кадр]. |
MultiPageOptions { get; set; } | Многостраничные параметры |
virtual Palette { get; set; } | Получает или задает цветовую палитру. |
ProgressEventHandler { get; set; } | Получает или задает обработчик события выполнения. |
Progressive { get; set; } | Получает или задает значение, указывающее, является ли этоPngOptions является прогрессивным. |
virtual ResolutionSettings { get; set; } | Получает или задает параметры разрешения. |
Source { get; set; } | Получает или задает источник для создания изображения в. |
VectorRasterizationOptions { get; set; } | Получает или задает параметры векторной растеризации. |
override XmpData { get; set; } | Получает или задает контейнер метаданных XMP. |
Методы
Имя | Описание |
---|---|
virtual Clone() | Клонирует этот экземпляр. |
Dispose() | Удаляет текущий экземпляр. |
Поля
Имя | Описание |
---|---|
const DefaultCompressionLevel | Уровень сжатия по умолчанию. |
Примеры
В этом примере демонстрируется использование различных классов из пространства имен SaveOptions для целей экспорта. Изображение типа Gif загружается в экземпляр Image, а затем экспортируется в несколько форматов.
[C#]
string dir = "c:\\temp\\";
//Загружаем существующее изображение (типа Gif) в экземпляр класса Image
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Экспорт в формат файла BMP, используя параметры по умолчанию
image.Save(dir + "output.bmp", new Aspose.Imaging.ImageOptions.BmpOptions());
// Экспорт в формат файла JPEG с использованием параметров по умолчанию
image.Save(dir + "output.jpg", new Aspose.Imaging.ImageOptions.JpegOptions());
// Экспорт в формат файла PNG с параметрами по умолчанию
image.Save(dir + "output.png", new Aspose.Imaging.ImageOptions.PngOptions());
// Экспорт в формат файла TIFF с параметрами по умолчанию
image.Save(dir + "output.tif", new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
}
В следующем примере показано, как преобразовать многостраничное векторное изображение в формат PNG в общем виде без ссылки на конкретный тип изображения.
[C#]
string dir = "C:\\aspose.imaging\\net\\misc\\ImagingReleaseQATester\\Tests\\testdata\\2548";
string inputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr");
string outputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr.png");
Aspose.Imaging.ImageOptionsBase exportOptions = new Aspose.Imaging.ImageOptions.PngOptions();
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFilePath))
{
exportOptions.MultiPageOptions = null;
// Экспортировать только первые две страницы. На самом деле будет растрирована только одна страница, потому что PNG не является многостраничным форматом.
Aspose.Imaging.IMultipageImage multipageImage = image as Aspose.Imaging.IMultipageImage;
if (multipageImage != null && (multipageImage.Pages != null && multipageImage.PageCount > 2))
{
exportOptions.MultiPageOptions = new Aspose.Imaging.ImageOptions.MultiPageOptions(new Aspose.Imaging.IntRange(0, 2));
}
if (image is Aspose.Imaging.VectorImage)
{
exportOptions.VectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Aspose.Imaging.Color.White, image.Width, image.Height });
exportOptions.VectorRasterizationOptions.TextRenderingHint = Aspose.Imaging.TextRenderingHint.SingleBitPerPixel;
exportOptions.VectorRasterizationOptions.SmoothingMode = Aspose.Imaging.SmoothingMode.None;
}
image.Save(outputFilePath, exportOptions);
}
В этом примере класс Graphics используется для создания примитивных фигур на поверхности изображения. Чтобы продемонстрировать операцию, в примере создается новое изображение в формате PNG и рисуются примитивные фигуры на поверхности изображения с использованием методов Draw, предоставляемых классом Graphics.
[C#]
// Создает экземпляр FileStream
using (System.IO.FileStream stream = new System.IO.FileStream(@"C:\temp\output.png", System.IO.FileMode.Create))
{
//Создаем экземпляр PngOptions и устанавливаем его различные свойства
Aspose.Imaging.ImageOptions.PngOptions pngOptions = new Aspose.Imaging.ImageOptions.PngOptions();
//Установить источник для PngOptions
pngOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Создаем экземпляр изображения
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(pngOptions, 500, 500))
{
//Создаем и инициализируем экземпляр класса Graphics
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image);
//Очистить графическую поверхность
graphics.Clear(Aspose.Imaging.Color.Wheat);
// Нарисуйте дугу, указав объект Pen, имеющий черный цвет,
//прямоугольник, окружающий дугу, начальный угол и угол развертки
graphics.DrawArc(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Black, 2), new Aspose.Imaging.Rectangle(200, 200, 100, 200), 0, 300);
// Нарисуйте кривую Безье, задав объект Pen синего цвета и координаты Points.
graphics.DrawBezier(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Blue, 2), new Aspose.Imaging.Point(250, 100), new Aspose.Imaging.Point(300, 30), new Aspose.Imaging.Point(450, 100), new Aspose.Imaging.Point(235, 25));
//Нарисуйте кривую, указав объект Pen зеленого цвета и массив точек
graphics.DrawCurve(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Green, 2), new[] { new Aspose.Imaging.Point(100, 200), new Aspose.Imaging.Point(100, 350), new Aspose.Imaging.Point(200, 450) });
// Нарисуйте эллипс, используя объект Pen и окружающий прямоугольник
graphics.DrawEllipse(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Yellow, 2), new Aspose.Imaging.Rectangle(300, 300, 100, 100));
// Нарисовать линию
graphics.DrawLine(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Violet, 2), new Aspose.Imaging.Point(100, 100), new Aspose.Imaging.Point(200, 200));
// Нарисовать сегмент пирога
graphics.DrawPie(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Silver, 2), new Aspose.Imaging.Rectangle(new Aspose.Imaging.Point(200, 20), new Aspose.Imaging.Size(200, 200)), 0, 45);
// Нарисуйте многоугольник, указав объект Pen красного цвета и массив точек
graphics.DrawPolygon(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Red, 2), new[] { new Aspose.Imaging.Point(20, 100), new Aspose.Imaging.Point(20, 200), new Aspose.Imaging.Point(220, 20) });
// Рисуем прямоугольник
graphics.DrawRectangle(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Orange, 2), new Aspose.Imaging.Rectangle(new Aspose.Imaging.Point(250, 250), new Aspose.Imaging.Size(100, 100)));
//Создаем объект SolidBrush и устанавливаем его различные свойства
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush();
brush.Color = Color.Purple;
brush.Opacity = 100;
// Нарисуйте строку, используя объект SolidBrush и шрифт, в определенной точке
graphics.DrawString("This image is created by Aspose.Imaging API", new Aspose.Imaging.Font("Times New Roman", 16), brush, new Aspose.Imaging.PointF(50, 400));
// сохранить все изменения.
image.Save();
}
}
Смотрите также
- class ImageOptionsBase
- пространство имен Aspose.Imaging.ImageOptions
- сборка Aspose.Imaging