SvgImage

Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.DataStreamSupporter, com.aspose.imaging.Image, com.aspose.imaging.VectorImage

All Implemented Interfaces: com.aspose.imaging.xmp.IHasXmpData

public final class SvgImage extends VectorImage implements IHasXmpData

Манипулируйте файлами изображений Scalar Vector Graphics (SVG) с помощью нашего API, используя возможности XML‑текстового формата для бесшовной настройки и масштабируемости. Легко загружайте SVG‑изображения, растеризуйте векторные элементы и конвертируйте их в другие форматы, контролируя уровни сжатия для оптимизации размера файла и качества в ваших проектах.

Конструкторы

КонструкторОписание
SvgImage(String path)Создаёт новый объект класса SvgImage, используя указанный путь для поиска и загрузки изображения.
SvgImage(InputStream stream)Создаёт новый экземпляр класса SvgImage, загружая изображение из предоставленного потока.
SvgImage(int width, int height)Создаёт новый объект SvgImage с указанными шириной и высотой.
SvgImage(SvgOptions svgOptions, int width, int height)Создаёт новый экземпляр класса SvgImage с указанными параметрами SVG‑опций, ширины и высоты изображения.

Методы

МетодОписание
isCached()Возвращает логическое значение, указывающее, кэшированы ли данные объекта в данный момент, устраняя необходимость дополнительных операций чтения данных.
getBitsPerPixel()Возвращает количество бит на пиксель изображения.
getFileFormat()Возвращает формат файла изображения, предоставляя важные метаданные для обработки и проверки совместимости.
cacheData()Кешируйте данные и гарантируйте, что дальнейшая загрузка данных из базового DataStreamSupporter.DataStreamContainer(DataStreamSupporter.getDataStreamContainer) не произойдёт.
resize(int newWidth, int newHeight, int resizeType)Измените размер изображения, чтобы соответствовать указанным размерам, сохраняя его пропорции.
crop(Rectangle rectangle)Обрезает указанный прямоугольник.
rotate(float angle)Поворачивает изображение вокруг центра.
setPalette(IColorPalette palette, boolean updateColors)Применяет указанную палитру к изображению, позволяя настраивать цветовые схемы для эстетических или функциональных целей.

Example: This example shows how to load an SVG image from a file stream and rasterize it to PNG.

String dir = "c:\\temp\\";

// Загрузите SVG‑изображение из файлового потока.
java.io.InputStream stream = new java.io.FileInputStream(dir + "test.svg");
com.aspose.imaging.fileformats.svg.SvgImage svgImage = new com.aspose.imaging.fileformats.svg.SvgImage(stream);
try {
    // Для растеризации SVG необходимо указать параметры растеризации.
    com.aspose.imaging.imageoptions.SvgRasterizationOptions rasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
    com.aspose.imaging.imageoptions.PngOptions saveOptions = new com.aspose.imaging.imageoptions.PngOptions();
    saveOptions.setVectorRasterizationOptions(rasterizationOptions);

    svgImage.save(dir + "test.output.png", saveOptions);
} finally {
    svgImage.dispose();
    stream.close();
}

Example: The following example shows how to convert a compressed images (*.

Следующий пример показывает, как преобразовать сжатые изображения (.emz,.wmz, *.svgz) в растровый формат

String[] files = new String[]{ "example.emz", "example.wmz", "example.svgz" };
String baseFolder = "D:\\Compressed\\";
for(String file : files)
{
    String inputFile = (baseFolder + file);
    String outFile = inputFile + ".png";
    try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
    {
        final com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = 
                (com.aspose.imaging.imageoptions.VectorRasterizationOptions) image.getDefaultOptions(new Object[]{Color.getWhite(), image.getWidth(), image.getHeight()});
        image.save(outFile, new com.aspose.imaging.imageoptions.PngOptions()
        {{
            setVectorRasterizationOptions(vectorRasterizationOptions);
        }});
    }
}

Example: The following example shows how to convert a svgz images to svg format

String file = "example.svgz";
String baseFolder = "D:\\Compressed\\";
String inputFile = baseFolder + file;
String outFile = inputFile + ".svg";
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
{
    com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
    vectorRasterizationOptions.setPageSize(com.aspose.imaging.Size.to_SizeF(image.getSize()));
    com.aspose.imaging.imageoptions.SvgOptions options = new com.aspose.imaging.imageoptions.SvgOptions();
    options.setVectorRasterizationOptions(vectorRasterizationOptions);
    image.save(outFile, options);
}

Example: The following example shows how to convert a svg images to svgz format

String file = "juanmontoya_lingerie.svg";
String baseFolder = "D:\\Compressed\\";
String inputFile = baseFolder + file;
String outFile = inputFile + ".svgz";
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
{
    com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
    vectorRasterizationOptions.setPageSize(com.aspose.imaging.Size.to_SizeF(image.getSize()));
    com.aspose.imaging.imageoptions.SvgOptions options = new com.aspose.imaging.imageoptions.SvgOptions();
    options.setVectorRasterizationOptions(vectorRasterizationOptions);
    options.setCompress(true);
    image.save(outFile, options);
}

SvgImage(String path)

public SvgImage(String path)

Создаёт новый объект класса SvgImage, используя указанный путь для поиска и загрузки изображения. Этот конструктор упрощает создание экземпляров SVG‑изображений из внешних файлов, обеспечивая бесшовную интеграцию в программные системы и рабочие процессы.

Parameters:

ПараметрТипОписание
pathjava.lang.StringПуть, из которого загружается изображение и с которым инициализируются данные пикселей и палитры.

SvgImage(InputStream stream)

public SvgImage(InputStream stream)

Создаёт новый экземпляр класса SvgImage, загружая изображение из предоставленного потока. Этот конструктор позволяет напрямую загружать SVG‑изображения из потоков, повышая гибкость и эффективность работы с ресурсами изображений в программных приложениях.

Parameters:

ПараметрТипОписание
streamjava.io.InputStreamПоток, из которого загружается изображение и с которым инициализируются данные пикселей и палитры.

SvgImage(int width, int height)

public SvgImage(int width, int height)

Создаёт новый объект SvgImage с указанными шириной и высотой. Этот конструктор позволяет разработчикам создавать SVG‑изображения с предопределёнными размерами, обеспечивая точный контроль над размером изображения при инициализации.

Parameters:

ПараметрТипОписание
widthintШирина изображения.
heightintВысота изображения.

SvgImage(SvgOptions svgOptions, int width, int height)

public SvgImage(SvgOptions svgOptions, int width, int height)

Создаёт новый экземпляр класса SvgImage с указанными SVG‑опциями, шириной и высотой изображения. Этот конструктор позволяет разработчикам инициализировать SVG‑изображения с пользовательскими параметрами и размерами, обеспечивая гибкость при управлении содержимым и макетом SVG.

Parameters:

ПараметрТипОписание
svgOptionsSvgOptionsSVG‑опции.
widthintШирина изображения.
heightintВысота изображения.

isCached()

public boolean isCached()

Возвращает логическое значение, указывающее, кэшированы ли данные объекта в данный момент, устраняя необходимость дополнительных операций чтения данных. Это свойство предоставляет информацию о текущем статусе кэширования, оптимизируя процессы получения и обработки данных для повышения производительности и эффективности.

Returns: boolean — true, если данные объекта кэшированы; иначе false.

getBitsPerPixel()

public int getBitsPerPixel()

Возвращает количество бит на пиксель изображения. Важно отметить, что этот параметр не применяется к векторным изображениям, поскольку они не измеряются в пикселях. Это свойство предоставляет важную информацию о глубине цвета изображения, помогая в задачах обработки и манипуляции.

Returns: int — Количество бит на пиксель изображения.

getFileFormat()

public long getFileFormat()

Возвращает формат файла изображения, предоставляя важные метаданные для обработки и проверки совместимости. Это свойство играет ключевую роль в определении подходящих стратегий декодирования и кодирования для эффективного работы с данными изображения в разных системах и приложениях.

Returns: long - формат файла

cacheData()

public void cacheData()

Кэшируйте данные и гарантируйте отсутствие дальнейшей загрузки данных из базового DataStreamSupporter.DataStreamContainer(DataStreamSupporter.getDataStreamContainer). Эта оптимизация повышает производительность, устраняя избыточные операции получения данных, что особенно полезно в сценариях, требующих частого доступа к данным изображения.

resize(int newWidth, int newHeight, int resizeType)

public void resize(int newWidth, int newHeight, int resizeType)

Измените размер изображения, чтобы он соответствовал указанным параметрам, сохраняя его соотношение сторон. Этот метод предоставляет удобный способ регулировать размер изображения без искажения пропорций, обеспечивая оптимальное отображение или хранение в соответствии с требуемыми размерами.

Parameters:

ПараметрТипОписание
newWidthintНовая ширина.
newHeightintНовая высота.
resizeTypeintТип изменения размера.

crop(Rectangle rectangle)

public void crop(Rectangle rectangle)

Обрезает указанный прямоугольник.

Parameters:

ПараметрТипОписание
rectangleRectangleПрямоугольник.

rotate(float angle)

public void rotate(float angle)

Поворачивает изображение вокруг центра.

Parameters:

ПараметрТипОписание
anglefloatУгол вращения в градусах. Положительные значения вращают по часовой стрелке.

setPalette(IColorPalette palette, boolean updateColors)

public void setPalette(IColorPalette palette, boolean updateColors)

Применяет указанную палитру к изображению, позволяя настраивать цветовые схемы для эстетических или функциональных целей. Этот метод обеспечивает гибкость управления цветовыми палитрами в соответствии с различными требованиями дизайна или приложения.

Parameters:

ПараметрТипОписание
paletteIColorPaletteПалитра для установки.
updateColorsbooleanЕсли установить значение true, цвета будут обновлены в соответствии с новой палитрой; в противном случае индексы цветов останутся неизменными. Обратите внимание, что неизменные индексы могут привести к сбою изображения при загрузке, если некоторые индексы не имеют соответствующих записей в палитре.