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:
- Abrir un archivo SVG.
- Crear un objeto ImageSaveOptions y especificar el formato de la imagen.
- Convertir SVG al formato de imagen elegido usando la clase Converter.
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:
- 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()
. - Utilice el constructor ImageSaveOptions() para crear un nuevo objeto ImageSaveOptions. De forma predeterminada, la propiedad Formato es PNG.
- 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.
Method | Description |
---|---|
setCompression(value) | Sets the Tagged Image File Format (TIFF) Compression. By default this property is Compression.LZW . |
getCss | Gets 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:
- Cargue un archivo SVG usando la clase SVGDocument.
- 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()
ysetVerticalResolution()
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.
- Utilice los métodos
- 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!