Convertir SVG a PNG en Java – Aspose.HTML for Java

Cada formato de imagen tiene fortalezas y debilidades únicas. SVG es excelente para crear gráficos que se pueden ampliar o reducir sin perder calidad. Pero a veces es necesario convertir archivos SVG a otros formatos de imagen como PNG, JPG, BMP, TIFF o GIF. En general, las conversiones SVG pueden resultar útiles para desarrolladores y diseñadores que deben trabajar con diferentes formatos de imagen para diversos fines. Además, saber cómo convertir entre formatos puede ayudar a garantizar que sus gráficos e imágenes sean accesibles y utilizables para un público más amplio.

La biblioteca Aspose.HTML for Java proporciona una amplia gama de conversiones SVG a imágenes, como JPG, PNG, BMP, TIFF, y GIF. La conversión de SVG a cualquier formato de imagen compatible sigue los pasos obligatorios:

Para especificar el formato de la imagen de salida, utilice la clase ImageSaveOptions. El constructor ImageSaveOptions(format) inicializa el objeto de opciones con el formato especificado. Puede configurar el formato de imagen en JPG, PNG, BMP, GIF o TIFF. El ImageFormat predeterminado es PNG.

En este artículo, aprenderá cómo convertir un SVG a PNG usando Aspose.HTML for Java y cómo aplicar ImageSaveOptions. Puede utilizar fácilmente ejemplos de Java para convertir SVG a PNG, que se detallan aquí para convertir SVG a JPG, imágenes BMP, GIF y TIFF. ¡Simplemente configure el ImageFormat requerido en ImageSaveOptions!

Convierta SVG a PNG con una sola línea de código

Al convertir SVG a PNG, obtiene una imagen rasterizada que se puede compartir, ver, enviar por correo electrónico y comprimir fácilmente sin perder calidad. Los métodos estáticos de la clase Converter se utilizan principalmente como la forma más sencilla de convertir un código SVG a varios formatos. ¡Puedes convertir SVG a PNG en tu aplicación Java literalmente con una sola línea de código!

1// Invoke the ConvertSVG() method for SVG to JPG conversion
2Converter.convertSVG($i("shapes.svg"), new ImageSaveOptions(ImageFormat.Png), "convert-with-single-line.png");

Convertir SVG a PNG

En el siguiente ejemplo de Java, veremos las instrucciones paso a paso para convertir SVG a PNG con las opciones de guardado predeterminadas:

  1. Cargue un archivo SVG. Puede cargar SVG desde un archivo, código SVG o URL. En el siguiente ejemplo, preparamos código SVG para crear SVG desde cero y pasarlo directamente al método convertSVG().
  2. Utilice el constructor ImageSaveOptions() para crear un nuevo objeto ImageSaveOptions. De forma predeterminada, la propiedad Formato es PNG.
  3. Llame a uno de los métodos convertSVG() de la clase Converter para guardar SVG como una imagen PNG. En el ejemplo, usamos el método convertSVG(document, options, outputPath) que toma tres parámetros: un documento SVG de origen, una instancia de la clase ImageSaveOptions y la ruta del archivo de salida donde la imagen convertida se guardará.

El siguiente fragmento de código Java muestra cómo convertir SVG a PNG usando Aspose.HTML for Java.

 1// Prepare an SVG code and save it to the file.
 2String code = "<svg xmlns='http://www.w3.org/2000/svg'>\n" +
 3        "<circle cx='50' cy='50' r='40' stroke='black' stroke-width='3' fill='red' />\n" +
 4        "</svg>\n";
 5try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.svg")) {
 6    fileWriter.write(code);
 7}
 8
 9// Initialize an SVG document from the svg file.
10SVGDocument document = new SVGDocument("document.svg");
11
12// Initialize ImageSaveOptions
13ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Png);
14
15// Convert SVG to PNG
16Converter.convertSVG(document, options, "output.png");

Puede descargar los ejemplos completos y los archivos de datos desde GitHub.

Opciones de guardado – Clase ImageSaveOptions

La clase ImageSaveOptions proporciona métodos que le brindan control total sobre una amplia gama de parámetros y mejoran el proceso de conversión de SVG a formatos de archivo de imagen. Puede especificar el formato de imagen, tamaño de página, márgenes, nivel de compresión, tipo de medio, etc.

MethodDescription
setCompression(value)Sets the Tagged Image File Format (TIFF) Compression. By default this property is Compression.LZW.
getCssGets a CssOptions object which is used for configuration of CSS properties processing.
setFormat(value)Sets ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default this property is ImageFormat.Png.
setBackgroundColor(value)Sets Color which will fill background of every page. Default value is Color.Transparent(Color.getTransparent()).
setPageSetup(value)Gets a page setup object is used for configuration output page-set.
setHorizontalResolution(value)Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi.
setVerticalResolution(value)Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi.
setSmoothingMode(value)Sets the rendering quality for this image.
getText()Gets a TextOptions object which is used for configuration of text rendering.

Convierta SVG a PNG usando ImageSaveOptions

Si su escenario requiere renderizar un documento SVG, por ejemplo, en formato de archivo PNG con opciones de guardado personalizadas, el siguiente ejemplo demuestra lo simple que es esto:

  1. Cargue un archivo SVG usando la clase SVGDocument.
  2. Cree un nuevo objeto ImageSaveOptions y especifique las opciones de guardado requeridas. En el siguiente ejemplo, aplicamos resoluciones personalizadas, configuramos el modo de suavizado y el color de fondo para la imagen PNG resultante:
    • Utilice los métodos setHorizontalResolution() y setVerticalResolution() para establecer la resolución horizontal y vertical de la imagen en 200.
    • Utilice el método setBackgroundColor() para establecer el color de fondo de cada página.
    • Utilice el método setSmoothingMode() para establecer la calidad del suavizado de la imagen en alta.
  3. Utilice el método convertSVG(document, options, savePath) de la clase Converter para guardar SVG como una imagen PNG.
 1// Create an instance of the ImageSaveOptions class. Set up the SmoothingMode, resolutions, and change the background color to AliceBlue
 2ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Png);
 3options.setHorizontalResolution(Resolution.to_Resolution(200));
 4options.setVerticalResolution(Resolution.to_Resolution(200));
 5options.setBackgroundColor(Color.getAliceBlue());
 6options.setSmoothingMode(SmoothingMode.HighQuality);
 7
 8// Initialize an SVG document from the file
 9final SVGDocument document = new SVGDocument($i("flower1.svg"));
10
11// Convert SVG to PNG
12Converter.convertSVG(document, options, $i("flower-options.png"));

Conclusión

La biblioteca Aspose.HTML for Java ofrece una solución poderosa y eficiente para convertir SVG a varios formatos de imágenes rasterizadas, incluidos PNG, JPG, BMP, TIFF y GIF. El uso de las clases Converter e ImageSaveOptions permite la conversión de SVG y una personalización precisa de las propiedades de salida como el formato de imagen, la resolución, la compresión y el color de fondo. Este nivel de control permite optimizar la calidad de la salida y adapta los resultados a las necesidades específicas del proyecto, asegurando que las imágenes convertidas cumplan con los requisitos tanto funcionales como estéticos.

Si sigue los pasos técnicos (cargar un documento SVG, configurar ImageSaveOptions e invocar el método convertSVG()), puede lograr conversiones de formato simples, rápidas y de calidad.

Aspose.HTML ofrece un Convertidor de SVG a PNG en línea gratuito que convierte SVG a PNG con alta calidad, fácil y rápido. Esta herramienta le ayuda a crear imágenes y gráficos de alta calidad que son compatibles con una amplia gama de plataformas y dispositivos. Entonces, ¿por qué no intentarlo? ¡Simplemente cargue, convierta sus archivos y obtenga el resultado en unos segundos!

Texto “Convertidor de SVG a PNG”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.