Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

169
Vistas
Convierta 2 o más SVG a PNG en JavaScript

Estoy usando el siguiente código para convertir 1 SVG a PNG. Convierto el SVG a lienzo a PNG.

 getDownloadURL = async () => { // Logic to convert SVG to PNG const svg = document.querySelector('#widget svg'), canvas = new OffscreenCanvas(svg.clientWidth*3, svg.clientHeight*3), svgString = new XMLSerializer().serializeToString(svg), ctx = canvas.getContext('2d'), v = await Canvg.fromString(ctx, svgString, presets.offscreen()); await v.render(); const blob = await canvas.convertToBlob(), pngUrl = URL.createObjectURL(blob); return pngUrl; } download = filename => { const a = document.createElement('a'); a.download = filename; getDownloadURL().then(url => { a.href = url; document.body.appendChild(a); a.click(); a.remove(); }); };

Si trato de convertir más de 1 SVG reemplazando const svg = document.querySelector('#widget svg') a const svg = document.querySelector('#widget') porque el elemento #widget tiene 2 SVG, el PNG resultante tiene 2 SVG superpuestos entre sí.

¿Cómo puedo solucionar este problema de superposición? Sería genial si pudiera representar el contenido del elemento #widget tal como está en PNG.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda