Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.SVG propose un Vectoriseur d’image en ligne gratuit qui fonctionne dans le navigateur sur n’importe quelle plateforme. Avec cette application, vous pouvez appliquer un ensemble d’options pour obtenir le résultat parfait. Gagnez du temps et essayez ce Vectoriseur d’image gratuit pour profiter de tous les avantages des graphiques vectoriels !
La vectorisation d’images est le processus de conversion d’images raster telles que PNG, JPG, BMP, GIF ou TIFF en graphiques vectoriels SVG évolutifs. Contrairement aux images bitmap, les fichiers SVG conservent leur qualité à n’importe quelle résolution et sont plus faciles à éditer, optimiser et mettre à l’échelle pour le Web, l’impression, la CAO et le design graphique.
Avec Aspose.SVG for .NET, vous pouvez vectoriser par programmation des images raster en C# sans avoir besoin de logiciel graphique externe ou d’outils basés sur un navigateur. L’API fournit des paramètres de vectorisation flexibles qui vous permettent de contrôler le lissage des tracés, la simplification des courbes, la réduction des couleurs et la complexité de la sortie SVG.
Cet article explique comment :
Remarque : L’espace de noms Aspose.Svg.ImageVectorization prend en charge les formats bitmap courants (JPG, PNG, BMP, TIFF, GIF) et produit toujours un fichier SVG.
L’API de vectorisation d’images Aspose.SVG fournit des classes et des méthodes qui vous permettent de travailler avec diverses options de prétraitement des images avant de les enregistrer au format vectoriel. Le processus de vectorisation permet de contrôler les options suivantes : TraceSimplifier, TraceSmoother, ColorsLimit et LineWidth.
Voyons comment la propriété TraceSimplifier affecte la vectorisation de l’image. Tout d’abord, sachez que :
tolerance) prend en paramètre la tolerance et initialise une instance de la classe.tolerance détermine la tolérance d’erreur maximale autorisée pour qu’un point soit éliminé du tracé. Elle doit être comprise entre 0 et 4. La valeur par défaut est 0,3.L’extrait de code suivant montre l’utilisation de différentes valeurs pour la propriété tolerance (TraceSimplifier) :
1using System.IO;
2using Aspose.Svg.ImageVectorization;
3using Aspose.Svg.Saving; 1// Compare different SplinePathBuilder configurations for image vectorization with varying simplification levels
2
3// Initialize an instance of the ImageVectorizer class and specify configuration properties
4ImageVectorizer vectorizer1 = new ImageVectorizer
5{
6 Configuration =
7 {
8 PathBuilder = new SplinePathBuilder
9 {
10 TraceSimplifier = new ImageTraceSimplifier(0.1f),
11 TraceSmoother = new ImageTraceSmoother(2),
12 },
13 ColorsLimit = 2
14 }
15};
16
17ImageVectorizer vectorizer2 = new ImageVectorizer
18{
19 Configuration =
20 {
21 PathBuilder = new SplinePathBuilder
22 {
23 TraceSimplifier = new ImageTraceSimplifier(1),
24 TraceSmoother = new ImageTraceSmoother(2),
25 },
26 ColorsLimit = 2
27 }
28};
29
30ImageVectorizer vectorizer3 = new ImageVectorizer
31{
32 Configuration =
33 {
34 PathBuilder = new SplinePathBuilder
35 {
36 TraceSimplifier = new ImageTraceSimplifier(2),
37 TraceSmoother = new ImageTraceSmoother(2),
38 },
39 ColorsLimit = 2
40 }
41};
42
43// Prepare a path for a source image file
44string sourcePath = Path.Combine(DataDir, "formats.png");
45
46// Vectorize raster image from the specified file
47using SVGDocument document1 = vectorizer1.Vectorize(sourcePath);
48using SVGDocument document2 = vectorizer2.Vectorize(sourcePath);
49using SVGDocument document3 = vectorizer3.Vectorize(sourcePath);
50
51// Save the vectorized image as an SVG file
52document1.Save(Path.Combine(OutputDir, "formats1.svg"));
53document2.Save(Path.Combine(OutputDir, "formats2.svg"));
54document3.Save(Path.Combine(OutputDir, "formats3.svg"));
Parfois, des fragments de contours ressemblent à des vagues en dents de scie ou paraissent dentelés. Voyons comment la propriété TraceSmoother affecte le lissage :
severity) prend en paramètre la severity (intensité).severity détermine l’étendue de la région considérée par le point de requête. Elle doit être comprise entre 0 et 20.Voyons comment la propriété TraceSmoother affecte la vectorisation :
1using System.IO;
2using Aspose.Svg.ImageVectorization;
3using Aspose.Svg.Saving; 1// Vectorize PNG to SVG using ImageVectorizer and custom parameters
2
3// Initialize an instance of the ImageVectorizer class
4ImageVectorizer vectorizer = new ImageVectorizer
5{
6 // Optionally set a configuration
7 Configuration =
8 {
9 // Optionally create an instance of the PathBuilder class
10 PathBuilder = new BezierPathBuilder {
11 // Optionally set trace smoother
12 TraceSmoother = new ImageTraceSmoother(0),
13 ErrorThreshold = 30,
14 MaxIterations = 30
15 },
16 ColorsLimit = 10,
17 LineWidth = 1
18 }
19};
20// Vectorize image from the specified file
21using SVGDocument document = vectorizer.Vectorize(Path.Combine(DataDir, "flower.png"));
22
23// Save vectorized Image as an SVG file
24document.Save(Path.Combine(OutputDir, "flower.svg"));
Est-il possible de convertir une photo au format vectoriel pour qu’elle soit identique à l’originale ?
Le format SVG n’est pas bien adapté aux images photoréalistes, car il ne permet pas encore de transitions de couleurs parfaitement naturelles. Les graphiques vectoriels sont idéaux pour les logos, les icônes et les dessins techniques. Cependant, la vectorisation de photos peut produire des effets artistiques impressionnants.
Dans cette section, nous essayons de choisir des options de vectorisation pour que le résultat ressemble le plus possible à la photo :
1using System.IO;
2using Aspose.Svg.ImageVectorization;
3using Aspose.Svg.Saving; 1// Convert JPG to SVG in C#
2
3// Initialize an instance of the ImageVectorizer class
4ImageVectorizer vectorizer = new ImageVectorizer
5{
6 // Optionally set a configuration
7 Configuration =
8 {
9 // Optionally create an instance of the PathBuilder class
10 PathBuilder = new SplinePathBuilder
11 {
12 TraceSmoother = new ImageTraceSmoother(1),
13 TraceSimplifier = new ImageTraceSimplifier(0.3f)
14 },
15 ColorsLimit = 25,
16 LineWidth = 1
17 }
18};
19
20// Vectorize image from a specified file
21using (SVGDocument document = vectorizer.Vectorize(Path.Combine(DataDir, "horses.jpg")))
22{
23 // Save the vectorized image as SVG
24 document.Save(Path.Combine(OutputDir, "horses-new.svg"));
25}La figure montre la photo source (a), l’image vectorisée à l’aide du code (b) et l’image vectorisée améliorée manuellement (c).

Le processus de vectorisation utilise la quantification des couleurs. Les petites zones sont remplacées par des formes géométriques, ce qui peut laisser de minuscules espaces entre elles. C’est la raison des points blancs sur l’image.
Conseil : Pour résoudre ce problème, vous pouvez modifier manuellement le fichier SVG résultant. Nous suggérons de remplacer la valeur stroke-width="100" par "150" ou une autre valeur appropriée.

La photo source (a) et le fichier SVG résultant (c) peuvent être consultés en détail via les liens : horses.jpg, horses.svg.
Aspose.SVG for .NET fournit plusieurs options pour contrôler la qualité SVG, le lissage des tracés et la complexité de la sortie.
| Option | Description | Utilisation recommandée |
|---|---|---|
ColorsLimit | Définit le nombre maximum de couleurs. Les valeurs basses simplifient la structure, tandis que les valeurs élevées conservent les détails. | Valeurs basses pour les logos ; plus élevées pour les illustrations et photos. |
ImageSizeLimit | Définit la dimension maximale de l’image (largeur × hauteur). Les images volumineuses peuvent être mises à l’échelle automatiquement. | Augmentez cette valeur pour les images sources haute résolution. |
PathBuilder | Spécifie l’algorithme de génération de tracés. Affecte le lissage des courbes. | Utilisez SplinePathBuilder pour des tracés plus fluides. |
TraceSimplifier | Réduit le nombre de points de tracé et simplifie la géométrie. | Aide à réduire la taille du fichier et à optimiser la complexité. |
TraceSmoother | Lisse les contours et réduit les bords dentelés. | Recommandé pour les images raster bruitées ou de mauvaise qualité. |
LineWidth | Définit la largeur des traits vectoriels générés. | Augmentez la valeur si les contours fins disparaissent. |
La version d’évaluation gratuite d’Aspose.SVG fournit presque toutes les fonctionnalités, à l’exception des suivantes :
Pour essayer Aspose.SVG sans limitations, demandez une licence temporaire de 30 jours.

Fichier résultant : horses-license.svg.
| Problème | Cause possible | Solution recommandée |
|---|---|---|
| Le SVG contient de nombreux petits espaces | ColorsLimit est trop bas. | Augmentez ColorsLimit (par exemple à 30–40) ou augmentez le stroke-width. |
| Le fichier SVG généré est trop volumineux | La tolérance de TraceSimplifier est trop basse. | Augmentez la tolérance (généralement 0.7–1.0) pour réduire les points de tracé. |
| Les bords paraissent rugueux ou dentelés | TraceSmoother est désactivé ou trop bas. | Utilisez des valeurs de lissage entre 5 et 10. |
| Certaines couleurs sont manquantes dans le SVG de sortie | La version d’évaluation limite le nombre de couleurs dominantes traitées. | Appliquez une licence Aspose.SVG temporaire ou complète pour activer la prise en charge de la vectorisation en couleur. |
| Le SVG contient trop de tracés inutiles | L’image source contient du bruit, des dégradés ou des artefacts de compression. | Prétraitez l’image avant la vectorisation en réduisant le bruit, en augmentant le contraste ou en utilisant des graphiques source plus simples. |
| La vectorisation de photos produit des résultats inexacts | Le traçage raster-en-vecteur fonctionne mieux pour les logos, les icônes et les illustrations que pour les photographies détaillées. | Réduisez le nombre de couleurs, augmentez le lissage ou utilisez des illustrations simplifiées au lieu d’images photoréalistes. |
| Les lignes fines disparaissent | Simplification ou réduction de couleur trop agressive. | Baissez la tolérance et augmentez ColorsLimit. |
1. Comment convertir PNG en SVG en C#?
Utilisez la classe ImageVectorizer dans Aspose.SVG for .NET. L’API prend en charge les paramètres de lissage, de simplification et de réduction des couleurs.
2. Quelle est la différence entre les images raster et vectorielles ?
Les images raster sont composées de pixels et perdent en qualité lors de la mise à l’échelle. Les graphiques vectoriels utilisent des tracés mathématiques, ce qui permet de les agrandir sans perte de qualité.
3. Comment puis-je réduire la taille du fichier SVG après la vectorisation ?
Augmentez la tolérance de simplification, réduisez le nombre de couleurs et utilisez les paramètres de lissage de tracé.
4. Quelles images sont les mieux adaptées à la vectorisation ?
Les logos, les icônes et les illustrations avec des bords nets et des couleurs limitées donnent généralement les meilleurs résultats.
5. Puis-je personnaliser le processus de vectorisation ?
Oui. Aspose.SVG permet de configurer les limites de couleurs, les générateurs de tracés, le lissage et la taille de l’image.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.