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

Manipulez les fichiers d’images Scalar Vector Graphics (SVG) avec notre API, en utilisant la puissance du format texte basé sur XML pour une personnalisation et une évolutivité transparentes. Chargez facilement les images SVG, rasterisez les éléments vectoriels et convertissez-les vers d’autres formats, tout en contrôlant les niveaux de compression afin d’optimiser la taille du fichier et la qualité pour vos projets.

Constructeurs

ConstructeurDescription
SvgImage(String path)Instancie un nouvel objet de la classe SvgImage, en utilisant le chemin spécifié pour localiser et charger l’image.
SvgImage(InputStream stream)Crée une nouvelle instance de la classe SvgImage, en chargeant l’image depuis le flux fourni.
SvgImage(int width, int height)Instancie un nouvel objet SvgImage avec la largeur et la hauteur spécifiées.
SvgImage(SvgOptions svgOptions, int width, int height)Crée une nouvelle instance de la classe SvgImage avec les options SVG spécifiées, ainsi que les paramètres de largeur et de hauteur de l’image.

Méthodes

MéthodeDescription
isCached()Récupère une valeur booléenne indiquant si les données de l’objet sont actuellement en cache, éliminant ainsi le besoin d’opérations de lecture de données supplémentaires.
getBitsPerPixel()Récupère le nombre de bits par pixel de l’image.
getFileFormat()Récupère le format de fichier de l’image, fournissant des métadonnées essentielles pour le traitement et les vérifications de compatibilité.
cacheData()Mettez en cache les données et garantissez qu’aucun chargement supplémentaire de données ne proviendra du DataStreamSupporter.DataStreamContainer sous-jacent (DataStreamSupporter.getDataStreamContainer).
resize(int newWidth, int newHeight, int resizeType)Redimensionnez l’image pour correspondre aux dimensions spécifiées tout en préservant son ratio d’aspect.
crop(Rectangle rectangle)Recadre le rectangle spécifié.
rotate(float angle)Faire pivoter l’image autour du centre.
setPalette(IColorPalette palette, boolean updateColors)Applique une palette spécifiée à l’image, permettant la personnalisation des schémas de couleurs à des fins esthétiques ou fonctionnelles.

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

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

// Chargez une image SVG depuis un flux de fichier.
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 {
    // Pour rasteriser le SVG, nous devons spécifier les options de rasterisation.
    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 (*.

L’exemple suivant montre comment convertir des images compressées (.emz,.wmz, *.svgz) en format raster

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)

Instancie un nouvel objet de la classe SvgImage, en utilisant le chemin spécifié pour localiser et charger l’image. Ce constructeur facilite la création d’instances d’images SVG à partir de fichiers externes, permettant une intégration transparente dans les systèmes logiciels et les flux de travail.

Parameters:

ParamètreTypeDescription
cheminjava.lang.StringLe chemin à partir duquel charger l’image et initialiser les données de pixels et de palette.

SvgImage(InputStream stream)

public SvgImage(InputStream stream)

Crée une nouvelle instance de la classe SvgImage, en chargeant l’image depuis le flux fourni. Ce constructeur permet le chargement direct d’images SVG depuis des flux, améliorant la flexibilité et l’efficacité dans la gestion des ressources d’image au sein des applications logicielles.

Parameters:

ParamètreTypeDescription
fluxjava.io.InputStreamLe flux à partir duquel charger l’image et initialiser les données de pixels et de palette.

SvgImage(int width, int height)

public SvgImage(int width, int height)

Instancie un nouvel objet SvgImage avec la largeur et la hauteur spécifiées. Ce constructeur permet aux développeurs de créer des images SVG avec des dimensions prédéfinies, facilitant un contrôle précis de la taille de l’image lors de l’initialisation.

Parameters:

ParamètreTypeDescription
widthintLa largeur de l’image.
heightintLa hauteur de l’image.

SvgImage(SvgOptions svgOptions, int width, int height)

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

Crée une nouvelle instance de la classe SvgImage avec les options SVG spécifiées, ainsi que les paramètres de largeur et de hauteur de l’image. Ce constructeur permet aux développeurs d’initialiser des images SVG avec des options et des dimensions personnalisées, offrant une flexibilité dans la gestion du contenu et de la mise en page SVG.

Parameters:

ParamètreTypeDescription
svgOptionsSvgOptionsLes options SVG.
widthintLargeur de l’image.
heightintHauteur de l’image.

isCached()

public boolean isCached()

Récupère une valeur booléenne indiquant si les données de l’objet sont actuellement mises en cache, éliminant ainsi le besoin d’opérations de lecture de données supplémentaires. Cette propriété fournit un aperçu de l’état actuel du cache, optimisant la récupération et le traitement des données pour améliorer les performances et l’efficacité.

Returns: booléen - true si les données de l’objet sont en cache ; sinon, false.

getBitsPerPixel()

public int getBitsPerPixel()

Récupère le nombre de bits par pixel de l’image. Il est important de noter que ce paramètre ne s’applique pas aux images vectorielles, car elles ne sont pas mesurées en pixels. Cette propriété fournit des informations essentielles sur la profondeur de couleur de l’image, facilitant les tâches de traitement et de manipulation.

Returns: int - Le nombre de bits par pixel de l’image.

getFileFormat()

public long getFileFormat()

Récupère le format de fichier de l’image, fournissant des métadonnées essentielles pour le traitement et les vérifications de compatibilité. Cette propriété est indispensable pour déterminer les stratégies de décodage et d’encodage appropriées afin de gérer efficacement les données de l’image sur différents systèmes et applications.

Returns: long - format de fichier

cacheData()

public void cacheData()

Mise en cache des données et garantie qu’aucune charge supplémentaire de données ne sera effectuée depuis le DataStreamSupporter.DataStreamContainer(DataStreamSupporter.getDataStreamContainer). Cette optimisation améliore les performances en éliminant les opérations redondantes de récupération de données, surtout bénéfique dans les scénarios nécessitant un accès fréquent aux données de l’image.

resize(int newWidth, int newHeight, int resizeType)

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

Redimensionne l’image pour l’adapter aux dimensions spécifiées tout en préservant son ratio d’aspect. Cette méthode offre un moyen pratique d’ajuster la taille de l’image sans déformer ses proportions, assurant un affichage ou un stockage optimal selon les dimensions souhaitées.

Parameters:

ParamètreTypeDescription
newWidthintLa nouvelle largeur.
newHeightintLa nouvelle hauteur.
resizeTypeintLe type de redimensionnement.

crop(Rectangle rectangle)

public void crop(Rectangle rectangle)

Recadre le rectangle spécifié.

Parameters:

ParamètreTypeDescription
rectangleRectangleLe rectangle.

rotate(float angle)

public void rotate(float angle)

Faire pivoter l’image autour du centre.

Parameters:

ParamètreTypeDescription
anglefloatL’angle de rotation en degrés. Les valeurs positives feront pivoter dans le sens des aiguilles d’une montre.

setPalette(IColorPalette palette, boolean updateColors)

public void setPalette(IColorPalette palette, boolean updateColors)

Applique une palette spécifiée à l’image, permettant la personnalisation des schémas de couleurs à des fins esthétiques ou fonctionnelles. Cette méthode offre une flexibilité dans la gestion des palettes de couleurs pour répondre à diverses exigences de conception ou d’application.

Parameters:

ParamètreTypeDescription
paletteIColorPaletteLa palette à définir.
updateColorsbooleansi défini sur true, les couleurs seront mises à jour selon la nouvelle palette ; sinon les index de couleur restent inchangés. Notez que les index inchangés peuvent provoquer un plantage de l’image lors du chargement si certains index n’ont aucune entrée correspondante dans la palette.