@jjlmoya/utils-converters 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +61 -0
- package/src/category/i18n/en.ts +90 -0
- package/src/category/i18n/es.ts +90 -0
- package/src/category/i18n/fr.ts +90 -0
- package/src/category/index.ts +39 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +152 -0
- package/src/data.ts +34 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +39 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +148 -0
- package/src/pages/[locale].astro +271 -0
- package/src/pages/index.astro +4 -0
- package/src/shared/ImageConverter.astro +237 -0
- package/src/shared/logic/converter.ts +167 -0
- package/src/shared/style.css +258 -0
- package/src/tests/faq_count.test.ts +10 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/seo_length.test.ts +22 -0
- package/src/tests/tool_validation.test.ts +17 -0
- package/src/tool/avifAJpg/bibliography.astro +14 -0
- package/src/tool/avifAJpg/component.astro +8 -0
- package/src/tool/avifAJpg/i18n/en.ts +123 -0
- package/src/tool/avifAJpg/i18n/es.ts +123 -0
- package/src/tool/avifAJpg/i18n/fr.ts +118 -0
- package/src/tool/avifAJpg/index.ts +29 -0
- package/src/tool/avifAJpg/seo.astro +14 -0
- package/src/tool/avifAPng/bibliography.astro +14 -0
- package/src/tool/avifAPng/component.astro +8 -0
- package/src/tool/avifAPng/i18n/en.ts +118 -0
- package/src/tool/avifAPng/i18n/es.ts +123 -0
- package/src/tool/avifAPng/i18n/fr.ts +118 -0
- package/src/tool/avifAPng/index.ts +29 -0
- package/src/tool/avifAPng/seo.astro +14 -0
- package/src/tool/avifAWebp/bibliography.astro +14 -0
- package/src/tool/avifAWebp/component.astro +8 -0
- package/src/tool/avifAWebp/i18n/en.ts +118 -0
- package/src/tool/avifAWebp/i18n/es.ts +123 -0
- package/src/tool/avifAWebp/i18n/fr.ts +118 -0
- package/src/tool/avifAWebp/index.ts +29 -0
- package/src/tool/avifAWebp/seo.astro +14 -0
- package/src/tool/bmpAJpg/bibliography.astro +14 -0
- package/src/tool/bmpAJpg/component.astro +8 -0
- package/src/tool/bmpAJpg/i18n/en.ts +123 -0
- package/src/tool/bmpAJpg/i18n/es.ts +123 -0
- package/src/tool/bmpAJpg/i18n/fr.ts +118 -0
- package/src/tool/bmpAJpg/index.ts +29 -0
- package/src/tool/bmpAJpg/seo.astro +14 -0
- package/src/tool/bmpAPng/bibliography.astro +14 -0
- package/src/tool/bmpAPng/component.astro +8 -0
- package/src/tool/bmpAPng/i18n/en.ts +123 -0
- package/src/tool/bmpAPng/i18n/es.ts +123 -0
- package/src/tool/bmpAPng/i18n/fr.ts +118 -0
- package/src/tool/bmpAPng/index.ts +29 -0
- package/src/tool/bmpAPng/seo.astro +14 -0
- package/src/tool/bmpAWebp/bibliography.astro +14 -0
- package/src/tool/bmpAWebp/component.astro +8 -0
- package/src/tool/bmpAWebp/i18n/en.ts +118 -0
- package/src/tool/bmpAWebp/i18n/es.ts +123 -0
- package/src/tool/bmpAWebp/i18n/fr.ts +118 -0
- package/src/tool/bmpAWebp/index.ts +29 -0
- package/src/tool/bmpAWebp/seo.astro +14 -0
- package/src/tool/gifAJpg/bibliography.astro +14 -0
- package/src/tool/gifAJpg/component.astro +8 -0
- package/src/tool/gifAJpg/i18n/en.ts +123 -0
- package/src/tool/gifAJpg/i18n/es.ts +123 -0
- package/src/tool/gifAJpg/i18n/fr.ts +118 -0
- package/src/tool/gifAJpg/index.ts +29 -0
- package/src/tool/gifAJpg/seo.astro +14 -0
- package/src/tool/gifAPng/bibliography.astro +14 -0
- package/src/tool/gifAPng/component.astro +8 -0
- package/src/tool/gifAPng/i18n/en.ts +123 -0
- package/src/tool/gifAPng/i18n/es.ts +123 -0
- package/src/tool/gifAPng/i18n/fr.ts +118 -0
- package/src/tool/gifAPng/index.ts +29 -0
- package/src/tool/gifAPng/seo.astro +14 -0
- package/src/tool/gifAWebp/bibliography.astro +14 -0
- package/src/tool/gifAWebp/component.astro +8 -0
- package/src/tool/gifAWebp/i18n/en.ts +123 -0
- package/src/tool/gifAWebp/i18n/es.ts +123 -0
- package/src/tool/gifAWebp/i18n/fr.ts +118 -0
- package/src/tool/gifAWebp/index.ts +29 -0
- package/src/tool/gifAWebp/seo.astro +14 -0
- package/src/tool/imagenBase64/bibliography.astro +14 -0
- package/src/tool/imagenBase64/component.astro +159 -0
- package/src/tool/imagenBase64/i18n/en.ts +137 -0
- package/src/tool/imagenBase64/i18n/es.ts +137 -0
- package/src/tool/imagenBase64/i18n/fr.ts +132 -0
- package/src/tool/imagenBase64/index.ts +43 -0
- package/src/tool/imagenBase64/seo.astro +14 -0
- package/src/tool/imagenBase64/style.css +299 -0
- package/src/tool/jpgAIco/bibliography.astro +14 -0
- package/src/tool/jpgAIco/component.astro +8 -0
- package/src/tool/jpgAIco/i18n/en.ts +123 -0
- package/src/tool/jpgAIco/i18n/es.ts +123 -0
- package/src/tool/jpgAIco/i18n/fr.ts +118 -0
- package/src/tool/jpgAIco/index.ts +29 -0
- package/src/tool/jpgAIco/seo.astro +14 -0
- package/src/tool/jpgAPng/bibliography.astro +14 -0
- package/src/tool/jpgAPng/component.astro +8 -0
- package/src/tool/jpgAPng/i18n/en.ts +128 -0
- package/src/tool/jpgAPng/i18n/es.ts +128 -0
- package/src/tool/jpgAPng/i18n/fr.ts +123 -0
- package/src/tool/jpgAPng/index.ts +29 -0
- package/src/tool/jpgAPng/seo.astro +14 -0
- package/src/tool/jpgAWebp/bibliography.astro +14 -0
- package/src/tool/jpgAWebp/component.astro +8 -0
- package/src/tool/jpgAWebp/i18n/en.ts +118 -0
- package/src/tool/jpgAWebp/i18n/es.ts +123 -0
- package/src/tool/jpgAWebp/i18n/fr.ts +118 -0
- package/src/tool/jpgAWebp/index.ts +29 -0
- package/src/tool/jpgAWebp/seo.astro +14 -0
- package/src/tool/pngAIco/bibliography.astro +14 -0
- package/src/tool/pngAIco/component.astro +8 -0
- package/src/tool/pngAIco/i18n/en.ts +123 -0
- package/src/tool/pngAIco/i18n/es.ts +123 -0
- package/src/tool/pngAIco/i18n/fr.ts +118 -0
- package/src/tool/pngAIco/index.ts +29 -0
- package/src/tool/pngAIco/seo.astro +14 -0
- package/src/tool/pngAJpg/bibliography.astro +14 -0
- package/src/tool/pngAJpg/component.astro +8 -0
- package/src/tool/pngAJpg/i18n/en.ts +133 -0
- package/src/tool/pngAJpg/i18n/es.ts +201 -0
- package/src/tool/pngAJpg/i18n/fr.ts +128 -0
- package/src/tool/pngAJpg/index.ts +29 -0
- package/src/tool/pngAJpg/seo.astro +14 -0
- package/src/tool/pngAWebp/bibliography.astro +14 -0
- package/src/tool/pngAWebp/component.astro +8 -0
- package/src/tool/pngAWebp/i18n/en.ts +127 -0
- package/src/tool/pngAWebp/i18n/es.ts +132 -0
- package/src/tool/pngAWebp/i18n/fr.ts +122 -0
- package/src/tool/pngAWebp/index.ts +29 -0
- package/src/tool/pngAWebp/seo.astro +14 -0
- package/src/tool/svgAJpg/bibliography.astro +14 -0
- package/src/tool/svgAJpg/component.astro +8 -0
- package/src/tool/svgAJpg/i18n/en.ts +118 -0
- package/src/tool/svgAJpg/i18n/es.ts +123 -0
- package/src/tool/svgAJpg/i18n/fr.ts +118 -0
- package/src/tool/svgAJpg/index.ts +29 -0
- package/src/tool/svgAJpg/seo.astro +14 -0
- package/src/tool/svgAPng/bibliography.astro +14 -0
- package/src/tool/svgAPng/component.astro +8 -0
- package/src/tool/svgAPng/i18n/en.ts +123 -0
- package/src/tool/svgAPng/i18n/es.ts +128 -0
- package/src/tool/svgAPng/i18n/fr.ts +118 -0
- package/src/tool/svgAPng/index.ts +29 -0
- package/src/tool/svgAPng/seo.astro +14 -0
- package/src/tool/webpAIco/bibliography.astro +14 -0
- package/src/tool/webpAIco/component.astro +8 -0
- package/src/tool/webpAIco/i18n/en.ts +123 -0
- package/src/tool/webpAIco/i18n/es.ts +123 -0
- package/src/tool/webpAIco/i18n/fr.ts +118 -0
- package/src/tool/webpAIco/index.ts +29 -0
- package/src/tool/webpAIco/seo.astro +14 -0
- package/src/tool/webpAJpg/bibliography.astro +14 -0
- package/src/tool/webpAJpg/component.astro +8 -0
- package/src/tool/webpAJpg/i18n/en.ts +122 -0
- package/src/tool/webpAJpg/i18n/es.ts +127 -0
- package/src/tool/webpAJpg/i18n/fr.ts +122 -0
- package/src/tool/webpAJpg/index.ts +29 -0
- package/src/tool/webpAJpg/seo.astro +14 -0
- package/src/tool/webpAPng/bibliography.astro +14 -0
- package/src/tool/webpAPng/component.astro +8 -0
- package/src/tool/webpAPng/i18n/en.ts +127 -0
- package/src/tool/webpAPng/i18n/es.ts +132 -0
- package/src/tool/webpAPng/i18n/fr.ts +122 -0
- package/src/tool/webpAPng/index.ts +29 -0
- package/src/tool/webpAPng/seo.astro +14 -0
- package/src/tools.ts +70 -0
- package/src/types.ts +69 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { SvgAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertidor-svg-a-jpg';
|
|
6
|
+
const title = 'Convertir SVG a JPG Online y Gratis - Alta Resolución';
|
|
7
|
+
const description =
|
|
8
|
+
'Convierte archivos SVG vectoriales a JPG en tu navegador. Renderizado 2x de alta resolución. Sin subir archivos. Gratis y 100% privado.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Arrastra archivos SVG...',
|
|
12
|
+
convertText: 'Para convertirlos a JPG al instante',
|
|
13
|
+
selectFiles: 'Seleccionar archivos',
|
|
14
|
+
processedFiles: 'Archivos procesados',
|
|
15
|
+
downloadAll: 'Descargar Todo (.zip)',
|
|
16
|
+
pending: 'Pendiente',
|
|
17
|
+
bibliographyTitle: 'Referencias Bibliográficas',
|
|
18
|
+
faqTitle: 'Preguntas Frecuentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: SvgAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: '¿Por qué convertir SVG a JPG?',
|
|
24
|
+
answer:
|
|
25
|
+
'JPG ofrece la máxima compatibilidad en todo tipo de dispositivos; convertir un SVG a JPG es la mejor forma de asegurar que todos puedan ver tu diseño sin fallos de renderizado.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '¿Qué ocurre con la transparencia del SVG?',
|
|
29
|
+
answer:
|
|
30
|
+
'Al convertir a JPG (que no soporta transparencias), se añadirá automáticamente un fondo blanco opaco a tu composición vectorial.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '¿Qué resolución tendrá el JPG resultante?',
|
|
34
|
+
answer:
|
|
35
|
+
'La herramienta renderiza el SVG a doble escala (2x) para garantizar una alta resolución adecuada para pantallas Retina y uso profesional.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: SvgAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Inserta tus archivos de vectores',
|
|
42
|
+
text: 'Pega tus archivos SVG en la zona superior para preparar el listado de exportación.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Rasterizado a JPG',
|
|
46
|
+
text: 'La herramienta convertirá los vectores en píxeles de alta resolución y generará tu JPG al instante.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Descarga los resultados',
|
|
50
|
+
text: 'Obtén tus archivos JPG uno a uno o como paquete ZIP.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: SvgAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'W3C SVG Specification',
|
|
57
|
+
url: 'https://www.w3.org/TR/SVG/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'JPEG Standard Overview',
|
|
61
|
+
url: 'https://jpeg.org/jpeg/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: SvgAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertidor SVG a JPG Online Gratuito',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'Mientras que el formato SVG es perfectamente escalable y ligero para su uso en la web, en ocasiones necesitas una versión JPG de tu gráfico vectorial. El JPG es el formato fotográfico más compatible del mundo y puede ser abierto sin problemas por cualquier dispositivo, sistema operativo o programa de visualización de imágenes.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'La conversión de SVG a JPG implica un proceso de rasterización: el gráfico vectorial se convierte en una cuadrícula de píxeles. Durante este proceso, las transparencias del SVG se fusionan con un fondo blanco sólido, ya que el formato JPG no soporta el canal alfa. Nuestro convertidor realiza esta rasterización a doble resolución (2x) para producir JPGs nítidos aptos para cualquier uso.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html:
|
|
83
|
+
'Todo el proceso ocurre en tu navegador sin necesidad de conectarse a ningún servidor. El SVG se carga en un elemento Image, se dibuja sobre un canvas HTML5 con fondo blanco a escala 2x y se exporta como JPG de alta calidad.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'tip',
|
|
87
|
+
html:
|
|
88
|
+
'Si tu SVG tiene texto o fuentes personalizadas, asegúrate de que estén incrustados o convertidos a trayectorias antes de convertir. Las fuentes del sistema pueden no estar disponibles en el motor de renderizado.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Un SVG de 100KB convertido a JPG a 2x puede producir un archivo de entre 50KB y 500KB dependiendo de la complejidad del diseño y los colores utilizados.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html:
|
|
98
|
+
'Convierte SVG a JPG de alta resolución de forma gratuita y privada. Renderizado 2x para máxima nitidez, fondo blanco automático para compatibilidad total con JPG.',
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
103
|
+
'@context': 'https://schema.org',
|
|
104
|
+
'@type': 'SoftwareApplication',
|
|
105
|
+
name: title,
|
|
106
|
+
description,
|
|
107
|
+
applicationCategory: 'UtilitiesApplication',
|
|
108
|
+
operatingSystem: 'Web',
|
|
109
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
110
|
+
inLanguage: 'es',
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export const content: SvgAJpgLocaleContent = {
|
|
114
|
+
slug,
|
|
115
|
+
title,
|
|
116
|
+
description,
|
|
117
|
+
ui,
|
|
118
|
+
seo,
|
|
119
|
+
faq,
|
|
120
|
+
bibliography,
|
|
121
|
+
howTo,
|
|
122
|
+
schemas: [appSchema as any],
|
|
123
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { SvgAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertisseur-svg-en-jpg';
|
|
6
|
+
const title = 'Convertir SVG en JPG en Ligne et Gratuitement - Haute Résolution';
|
|
7
|
+
const description =
|
|
8
|
+
'Convertissez des fichiers SVG vectoriels en JPG dans votre navigateur. Rendu haute résolution 2x. Sans téléchargement. Gratuit et 100% privé.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Faites glisser des fichiers SVG...',
|
|
12
|
+
convertText: 'Pour les convertir en JPG instantanément',
|
|
13
|
+
selectFiles: 'Sélectionner des fichiers',
|
|
14
|
+
processedFiles: 'Fichiers traités',
|
|
15
|
+
downloadAll: 'Tout télécharger (.zip)',
|
|
16
|
+
pending: 'En attente',
|
|
17
|
+
bibliographyTitle: 'Références Bibliographiques',
|
|
18
|
+
faqTitle: 'Questions Fréquentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: SvgAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Pourquoi convertir SVG en JPG ?',
|
|
24
|
+
answer:
|
|
25
|
+
'Le JPG offre une compatibilité maximale sur tous les types d\'appareils ; convertir un SVG en JPG est le meilleur moyen de s\'assurer que tout le monde peut voir votre design sans problèmes de rendu.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Que se passe-t-il avec la transparence du SVG ?',
|
|
29
|
+
answer:
|
|
30
|
+
'Lors de la conversion en JPG (qui ne supporte pas la transparence), un fond blanc opaque sera automatiquement ajouté à votre composition vectorielle.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Quelle résolution aura le JPG résultant ?',
|
|
34
|
+
answer:
|
|
35
|
+
'L\'outil rend le SVG à double échelle (2x) pour garantir une haute résolution adaptée aux écrans Retina et à l\'usage professionnel.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: SvgAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Insérez vos fichiers vectoriels',
|
|
42
|
+
text: 'Déposez vos fichiers SVG dans la zone supérieure pour préparer la liste d\'export.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Rastérisation en JPG',
|
|
46
|
+
text: 'L\'outil convertira les vecteurs en pixels haute résolution et générera votre JPG instantanément.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Téléchargez les résultats',
|
|
50
|
+
text: 'Obtenez vos fichiers JPG un par un ou comme package ZIP.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: SvgAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Spécification W3C SVG',
|
|
57
|
+
url: 'https://www.w3.org/TR/SVG/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Aperçu du standard JPEG',
|
|
61
|
+
url: 'https://jpeg.org/jpeg/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: SvgAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertisseur SVG vers JPG en Ligne Gratuit',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'Bien que le SVG soit parfaitement évolutif et léger pour le web, vous avez parfois besoin d\'une version JPG de votre graphique vectoriel. Le JPG est le format photographique le plus compatible au monde et peut être ouvert sans problème par n\'importe quel appareil, système d\'exploitation ou programme de visualisation d\'images.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'La conversion SVG en JPG implique un processus de rastérisation : le graphique vectoriel est converti en grille de pixels. Pendant ce processus, les transparences SVG sont fusionnées avec un fond blanc solide, car le JPG ne supporte pas le canal alpha. Notre convertisseur effectue cette rastérisation à double résolution (2x).',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'tip',
|
|
82
|
+
html:
|
|
83
|
+
'Si votre SVG contient du texte ou des polices personnalisées, assurez-vous qu\'ils sont incorporés ou convertis en chemins avant la conversion. Les polices système peuvent ne pas être disponibles dans le moteur de rendu.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html:
|
|
88
|
+
'Un SVG de 100 Ko converti en JPG à 2x peut produire un fichier entre 50 Ko et 500 Ko selon la complexité du design et les couleurs utilisées.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Convertissez SVG en JPG haute résolution gratuitement et en toute confidentialité. Rendu 2x pour une netteté maximale, fond blanc automatique pour une compatibilité JPG totale.',
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
98
|
+
'@context': 'https://schema.org',
|
|
99
|
+
'@type': 'SoftwareApplication',
|
|
100
|
+
name: title,
|
|
101
|
+
description,
|
|
102
|
+
applicationCategory: 'UtilitiesApplication',
|
|
103
|
+
operatingSystem: 'Web',
|
|
104
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
105
|
+
inLanguage: 'fr',
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export const content: SvgAJpgLocaleContent = {
|
|
109
|
+
slug,
|
|
110
|
+
title,
|
|
111
|
+
description,
|
|
112
|
+
ui,
|
|
113
|
+
seo,
|
|
114
|
+
faq,
|
|
115
|
+
bibliography,
|
|
116
|
+
howTo,
|
|
117
|
+
schemas: [appSchema as any],
|
|
118
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ConvertersToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
|
|
2
|
+
import type { ImageConverterUI } from '../../shared/ImageConverter.astro';
|
|
3
|
+
import SvgAJpgCalculator from './component.astro';
|
|
4
|
+
import SvgAJpgSEO from './seo.astro';
|
|
5
|
+
import SvgAJpgBibliography from './bibliography.astro';
|
|
6
|
+
|
|
7
|
+
export type SvgAJpgLocaleContent = ToolLocaleContent<ImageConverterUI>;
|
|
8
|
+
|
|
9
|
+
export const svgAJpg: ConvertersToolEntry<ImageConverterUI> = {
|
|
10
|
+
id: 'svg-a-jpg',
|
|
11
|
+
icons: {
|
|
12
|
+
bg: 'mdi:svg',
|
|
13
|
+
fg: 'mdi:file-export',
|
|
14
|
+
},
|
|
15
|
+
i18n: {
|
|
16
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { SvgAJpgCalculator, SvgAJpgSEO, SvgAJpgBibliography };
|
|
23
|
+
|
|
24
|
+
export const SVG_A_JPG_TOOL: ToolDefinition = {
|
|
25
|
+
entry: svgAJpg,
|
|
26
|
+
Component: SvgAJpgCalculator,
|
|
27
|
+
SEOComponent: SvgAJpgSEO,
|
|
28
|
+
BibliographyComponent: SvgAJpgBibliography,
|
|
29
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { svgAJpg } from './index';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'es' } = Astro.props;
|
|
11
|
+
const content = await svgAJpg.i18n[locale]?.();
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
{content && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { svgAPng } from './index';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'es' } = Astro.props;
|
|
11
|
+
const content = await svgAPng.i18n[locale]?.();
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
{content && <SharedBibliography links={content.bibliography} title={content.ui.bibliographyTitle} />}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
import SharedImageConverter from '../../shared/ImageConverter.astro';
|
|
3
|
+
import type { ImageConverterUI } from '../../shared/ImageConverter.astro';
|
|
4
|
+
|
|
5
|
+
interface Props { ui: ImageConverterUI }
|
|
6
|
+
const { ui } = Astro.props;
|
|
7
|
+
---
|
|
8
|
+
<SharedImageConverter from="svg" to="png" ui={ui} />
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { SvgAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'svg-to-png-converter';
|
|
6
|
+
const title = 'Convert SVG to PNG Online and Free - High Resolution';
|
|
7
|
+
const description =
|
|
8
|
+
'Convert SVG vector files to PNG in your browser. Double-scale HD output. Preserves transparency. Free and 100% private.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Drag SVG files...',
|
|
12
|
+
convertText: 'To convert them to PNG instantly',
|
|
13
|
+
selectFiles: 'Select files',
|
|
14
|
+
processedFiles: 'Processed files',
|
|
15
|
+
downloadAll: 'Download All (.zip)',
|
|
16
|
+
pending: 'Pending',
|
|
17
|
+
bibliographyTitle: 'Bibliographic References',
|
|
18
|
+
faqTitle: 'Frequently Asked Questions',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: SvgAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Why convert SVG files to PNG?',
|
|
24
|
+
answer:
|
|
25
|
+
'SVG is vector-based and ideal for logos, but sometimes you need the rasterized PNG format for use in applications that do not support vectors, or to share via messaging apps or social media.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Can I choose the output size?',
|
|
29
|
+
answer:
|
|
30
|
+
'We currently double the scale of the source SVG so the PNG output is crisp and suitable for Retina or 4K screens.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Are SVG transparencies maintained?',
|
|
34
|
+
answer:
|
|
35
|
+
'Yes, the resulting PNG preserves the alpha channel of the original SVG, keeping all transparent backgrounds intact.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: SvgAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Insert your SVG files',
|
|
42
|
+
text: 'Drop your SVG files or drag them directly to the upper area.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'HD PNG Generation',
|
|
46
|
+
text: 'In milliseconds our local engine will recreate each vector as an HD pixel layer in transparent PNG format.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Download the files',
|
|
50
|
+
text: 'Save the generated PNGs individually or as a ZIP package.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: SvgAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'W3C SVG Specification',
|
|
57
|
+
url: 'https://www.w3.org/TR/SVG/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Mozilla: SVG Tutorial',
|
|
61
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: SvgAPngLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Free Online SVG to PNG Converter',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'SVG (Scalable Vector Graphics) is an XML-based image format that describes vector graphics. Its main advantages are that it scales perfectly to any size without quality loss and files are generally small. However, not all programs, applications or social media platforms support SVG directly.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'Converting SVG to PNG is the solution when you need a rasterized version of your vector graphic. The resulting PNG is universally compatible and, thanks to its alpha channel support, preserves all transparencies from the original SVG. Our converter renders the SVG at double resolution (2x) to ensure the PNG is crisp even on high-density screens like Retina or 4K.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'tip',
|
|
82
|
+
html:
|
|
83
|
+
'For best quality in the resulting PNG, ensure your SVG has defined dimensions (width and height attributes or viewBox). An SVG without defined dimensions might render at an incorrect size.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html:
|
|
88
|
+
'SVG files are infinitely scalable, but a PNG at 2x resolution from a 256x256 SVG will produce a 512x512 pixel image, suitable for most uses on modern high-density screens.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Common use cases: exporting vector logos for PowerPoint or Word presentations, creating PNG icon versions for mobile apps, sharing SVG designs on platforms that don\'t support them, and generating PNG favicons from your SVG logo.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html:
|
|
98
|
+
'Convert SVG to HD PNG for free, privately and with transparency preservation. Rendered at double scale for Retina and 4K screens.',
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
103
|
+
'@context': 'https://schema.org',
|
|
104
|
+
'@type': 'SoftwareApplication',
|
|
105
|
+
name: title,
|
|
106
|
+
description,
|
|
107
|
+
applicationCategory: 'UtilitiesApplication',
|
|
108
|
+
operatingSystem: 'Web',
|
|
109
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
110
|
+
inLanguage: 'en',
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export const content: SvgAPngLocaleContent = {
|
|
114
|
+
slug,
|
|
115
|
+
title,
|
|
116
|
+
description,
|
|
117
|
+
ui,
|
|
118
|
+
seo,
|
|
119
|
+
faq,
|
|
120
|
+
bibliography,
|
|
121
|
+
howTo,
|
|
122
|
+
schemas: [appSchema as any],
|
|
123
|
+
};
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { SvgAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertidor-svg-a-png';
|
|
6
|
+
const title = 'Convertir SVG a PNG Online y Gratis - Alta Resolución';
|
|
7
|
+
const description =
|
|
8
|
+
'Convierte archivos SVG vectoriales a PNG en tu navegador. Salida a doble escala HD. Conserva transparencias. Gratis y 100% privado.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Arrastra archivos SVG...',
|
|
12
|
+
convertText: 'Para convertirlos a PNG al instante',
|
|
13
|
+
selectFiles: 'Seleccionar archivos',
|
|
14
|
+
processedFiles: 'Archivos procesados',
|
|
15
|
+
downloadAll: 'Descargar Todo (.zip)',
|
|
16
|
+
pending: 'Pendiente',
|
|
17
|
+
bibliographyTitle: 'Referencias Bibliográficas',
|
|
18
|
+
faqTitle: 'Preguntas Frecuentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: SvgAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: '¿Por qué convertir archivos SVG a PNG?',
|
|
24
|
+
answer:
|
|
25
|
+
'SVG es vectorial e ideal para logos, pero a veces necesitas el formato rasterizado PNG para usarlo en aplicaciones que no soportan vectores o para enviarlos por WhatsApp o redes sociales.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '¿Puedo elegir el tamaño de salida?',
|
|
29
|
+
answer:
|
|
30
|
+
'Actualmente duplicamos la escala del SVG de origen para que la salida PNG sea nítida y apta para pantallas Retina o 4K.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '¿Se mantienen las transparencias del SVG?',
|
|
34
|
+
answer:
|
|
35
|
+
'Sí, el PNG resultante conserva el canal alfa del SVG original, manteniendo todos los fondos transparentes intactos.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: SvgAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Inserta tus archivos SVG',
|
|
42
|
+
text: 'Pega tus archivos SVG o arrástralos directamente al área superior.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Generación del PNG HD',
|
|
46
|
+
text: 'En milisegundos nuestro motor local recreará cada vector en una capa de píxeles HD en formato PNG transparente.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Descarga los archivos',
|
|
50
|
+
text: 'Guarda los PNG generados individualmente o en un paquete ZIP.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: SvgAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'W3C SVG Specification',
|
|
57
|
+
url: 'https://www.w3.org/TR/SVG/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Mozilla: SVG Tutorial',
|
|
61
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: SvgAPngLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertidor SVG a PNG Online Gratuito',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'SVG (Scalable Vector Graphics) es un formato de imagen basado en XML que describe gráficos vectoriales. Sus principales ventajas son que escala perfectamente a cualquier tamaño sin perder calidad y que los archivos son generalmente pequeños. Sin embargo, no todos los programas, aplicaciones o plataformas de redes sociales soportan SVG directamente.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'Convertir SVG a PNG es la solución cuando necesitas una versión rasterizada de tu gráfico vectorial. El PNG resultante es universalmente compatible y, gracias a su soporte para canal alfa, preserva todas las transparencias que tuviera el SVG original. Nuestro convertidor renderiza el SVG a doble resolución (2x) para garantizar que el PNG sea nítido incluso en pantallas de alta densidad como Retina o 4K.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html:
|
|
83
|
+
'El proceso de conversión utiliza el elemento Image nativo del navegador para cargar el SVG, lo dibuja sobre un Canvas HTML5 a escala 2x y exporta el resultado como PNG. Todo esto ocurre localmente en tu dispositivo sin ninguna comunicación con servidores externos.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'tip',
|
|
87
|
+
html:
|
|
88
|
+
'Para obtener la mejor calidad en el PNG resultante, asegúrate de que tu SVG tenga definidas las dimensiones (atributos width y height o viewBox). Un SVG sin dimensiones definidas podría renderizarse a un tamaño incorrecto.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Los archivos SVG son escalables infinitamente, pero un PNG a 2x resolución de un SVG de 256x256 producirá una imagen de 512x512 píxeles, apta para la mayoría de los usos en pantallas modernas de alta densidad.',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html:
|
|
98
|
+
'Casos de uso habituales: exportar logos vectoriales para usarlos en presentaciones de PowerPoint o Word, crear versiones PNG de iconos para aplicaciones móviles, compartir diseños SVG en plataformas que no los soportan, y generar favicons PNG a partir de tu logo SVG.',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
type: 'paragraph',
|
|
102
|
+
html:
|
|
103
|
+
'Convierte SVG a PNG HD de forma gratuita, privada y con preservación de transparencias. Renderizado a doble escala para pantallas Retina y 4K.',
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
|
|
107
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
108
|
+
'@context': 'https://schema.org',
|
|
109
|
+
'@type': 'SoftwareApplication',
|
|
110
|
+
name: title,
|
|
111
|
+
description,
|
|
112
|
+
applicationCategory: 'UtilitiesApplication',
|
|
113
|
+
operatingSystem: 'Web',
|
|
114
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
115
|
+
inLanguage: 'es',
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export const content: SvgAPngLocaleContent = {
|
|
119
|
+
slug,
|
|
120
|
+
title,
|
|
121
|
+
description,
|
|
122
|
+
ui,
|
|
123
|
+
seo,
|
|
124
|
+
faq,
|
|
125
|
+
bibliography,
|
|
126
|
+
howTo,
|
|
127
|
+
schemas: [appSchema as any],
|
|
128
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import type { SvgAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertisseur-svg-en-png';
|
|
6
|
+
const title = 'Convertir SVG en PNG en Ligne et Gratuitement - Haute Résolution';
|
|
7
|
+
const description =
|
|
8
|
+
'Convertissez des fichiers SVG vectoriels en PNG dans votre navigateur. Sortie HD à double échelle. Préserve la transparence. Gratuit et 100% privé.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Faites glisser des fichiers SVG...',
|
|
12
|
+
convertText: 'Pour les convertir en PNG instantanément',
|
|
13
|
+
selectFiles: 'Sélectionner des fichiers',
|
|
14
|
+
processedFiles: 'Fichiers traités',
|
|
15
|
+
downloadAll: 'Tout télécharger (.zip)',
|
|
16
|
+
pending: 'En attente',
|
|
17
|
+
bibliographyTitle: 'Références Bibliographiques',
|
|
18
|
+
faqTitle: 'Questions Fréquentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: SvgAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Pourquoi convertir des fichiers SVG en PNG ?',
|
|
24
|
+
answer:
|
|
25
|
+
'SVG est vectoriel et idéal pour les logos, mais parfois vous avez besoin du format PNG rastérisé pour l\'utiliser dans des applications qui ne supportent pas les vecteurs, ou pour le partager sur les réseaux sociaux.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Puis-je choisir la taille de sortie ?',
|
|
29
|
+
answer:
|
|
30
|
+
'Nous doublons actuellement l\'échelle du SVG source pour que la sortie PNG soit nette et adaptée aux écrans Retina ou 4K.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Les transparences SVG sont-elles maintenues ?',
|
|
34
|
+
answer:
|
|
35
|
+
'Oui, le PNG résultant préserve le canal alpha du SVG original, maintenant tous les fonds transparents intacts.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: SvgAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Insérez vos fichiers SVG',
|
|
42
|
+
text: 'Déposez vos fichiers SVG ou faites-les glisser directement dans la zone supérieure.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Génération du PNG HD',
|
|
46
|
+
text: 'En quelques millisecondes, notre moteur local recrée chaque vecteur en une couche de pixels HD au format PNG transparent.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Téléchargez les fichiers',
|
|
50
|
+
text: 'Sauvegardez les PNG générés individuellement ou dans un package ZIP.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: SvgAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Spécification W3C SVG',
|
|
57
|
+
url: 'https://www.w3.org/TR/SVG/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Mozilla: Tutoriel SVG',
|
|
61
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: SvgAPngLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertisseur SVG vers PNG en Ligne Gratuit',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html:
|
|
73
|
+
'SVG (Scalable Vector Graphics) est un format d\'image basé sur XML qui décrit des graphiques vectoriels. Ses principaux avantages sont qu\'il s\'adapte parfaitement à n\'importe quelle taille sans perte de qualité et que les fichiers sont généralement petits. Cependant, tous les programmes, applications ou plateformes de réseaux sociaux ne supportent pas directement le SVG.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html:
|
|
78
|
+
'Convertir SVG en PNG est la solution lorsque vous avez besoin d\'une version rastérisée de votre graphique vectoriel. Le PNG résultant est universellement compatible et, grâce à son support du canal alpha, préserve toutes les transparences du SVG original.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'tip',
|
|
82
|
+
html:
|
|
83
|
+
'Pour la meilleure qualité dans le PNG résultant, assurez-vous que votre SVG a des dimensions définies (attributs width et height ou viewBox). Un SVG sans dimensions définies pourrait se rendre à une taille incorrecte.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html:
|
|
88
|
+
'Les fichiers SVG sont infiniment évolutifs, mais un PNG à résolution 2x d\'un SVG 256x256 produira une image de 512x512 pixels, adaptée à la plupart des utilisations sur les écrans modernes à haute densité.',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html:
|
|
93
|
+
'Convertissez SVG en PNG HD gratuitement, en toute confidentialité et avec préservation de la transparence. Rendu à double échelle pour les écrans Retina et 4K.',
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
98
|
+
'@context': 'https://schema.org',
|
|
99
|
+
'@type': 'SoftwareApplication',
|
|
100
|
+
name: title,
|
|
101
|
+
description,
|
|
102
|
+
applicationCategory: 'UtilitiesApplication',
|
|
103
|
+
operatingSystem: 'Web',
|
|
104
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
105
|
+
inLanguage: 'fr',
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export const content: SvgAPngLocaleContent = {
|
|
109
|
+
slug,
|
|
110
|
+
title,
|
|
111
|
+
description,
|
|
112
|
+
ui,
|
|
113
|
+
seo,
|
|
114
|
+
faq,
|
|
115
|
+
bibliography,
|
|
116
|
+
howTo,
|
|
117
|
+
schemas: [appSchema as any],
|
|
118
|
+
};
|