Convertir SVG a JPG en Java

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

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, TIFF y GIF. El ImageFormat predeterminado es PNG.

Convierta SVG a JPG con unas pocas líneas de código

La conversión de SVG a JPG le brinda una imagen rasterizada que se puede compartir, ver o enviar por correo electrónico fácilmente. 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 JPG en tu aplicación Java literalmente con unas pocas líneas de código!

En el ejemplo, usamos el método convertSVG(content, baseUri, options, outputPath) de la clase Converter que toma cuatro parámetros: cadena con el código SVG que se va a convertir, la carpeta base para el archivo SVG de entrada , una instancia de la clase ImageSaveOptions y la ruta del archivo de salida donde se guardará la imagen convertida:

1// Prepare an SVG code.
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";
5
6// Invoke the ConvertSVG method to convert the SVG code to image.
7Converter.convertSVG(code, ".", new ImageSaveOptions(ImageFormat.Jpeg), "output.jpg");

Convertir SVG a JPG

Los archivos SVG son excelentes para gráficos de sitios web, pero no todos los navegadores web los admiten. La conversión de SVG a JPG garantiza que la imagen se cargará correctamente en cualquier navegador web, lo que permitirá una mejor experiencia de usuario. Además, las imágenes JPG son fáciles de compartir, enviar por correo electrónico, incrustar en informes o presentaciones, etc. En el siguiente ejemplo de Java, recorreremos las instrucciones paso a paso para convertir SVG a JPG con 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 usamos el constructor SVGDocument() para inicializar una instancia de SVGDocumet.
  2. Utilice el constructor ImageSaveOptions() para crear un nuevo objeto ImageSaveOptions.
  3. Llame a uno de los métodos convertSVG() de la clase Converter para guardar SVG como una imagen JPG. En el ejemplo, utilizamos el método convertSVG(document, options, outputPath).

El siguiente fragmento de código Java muestra cómo convertir SVG a JPG 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.Jpeg);
14
15// Convert HTML to JPG
16Converter.convertSVG(document, options, "output.jpg");

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.

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

Para obtener más información sobre ImageSaveOptions, lea el artículo Convertidores de ajuste fino.

Convierta SVG a JPG usando ImageSaveOptions

Si su escenario requiere renderizar un documento SVG, por ejemplo, en formato de archivo JPG 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 un tamaño de página personalizado, configuramos el modo de suavizado y el color de fondo para la imagen JPG resultante:
    • Utilice métodos de la clase Page para configurar la página de salida.
    • 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(sourcePath, options, outputPath) de la clase Converter para guardar SVG como una imagen JPG.
 1// Prepare an SVG code and save it to the file
 2String code =
 3        "<svg width=\"450\" height=\"450\" xmlns=\"http://www.w3.org/2000/svg\">" +
 4        "    <g fill=\"RoyalBlue\">" +
 5        "        <rect x=\"100\" y=\"100\" rx=\"25\" ry=\"25\" width=\"200\" height=\"56\" />" +
 6        "        <rect x=\"100\" y=\"100\" rx=\"25\" ry=\"25\" width=\"200\" height=\"56\" transform =\"rotate(90 200 128)\" />" +
 7        "        <rect x=\"100\" y=\"100\" rx=\"25\" ry=\"25\" width=\"200\" height=\"56\" transform =\"rotate(-45 200 128)\" />" +
 8        "        <rect x=\"100\" y=\"100\" rx=\"25\" ry=\"25\" width=\"200\" height=\"56\" transform =\"rotate(45 200 128)\" />" +
 9        "    </g>" +
10        "    <circle cx=\"200\" cy=\"128\" r=\"28\" stroke=\"pink\" stroke-width=\"50\"  stroke-dasharray=\"3 13\" fill=\"Orange\" />" +
11        "    <circle cx=\"200\" cy=\"128\" r=\"5\" />" +
12        "</svg>";
13
14try (java.io.FileWriter fileWriter = new java.io.FileWriter("flower.svg")) {
15    fileWriter.write(code);
16}
17
18// Set up the page-size to 200x200 pixels and change the background color.
19ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg);
20PageSetup pageSetup = new PageSetup();
21options.setSmoothingMode(SmoothingMode.HighQuality);
22Page anyPage = new Page();
23anyPage.setSize(new Size(Length.fromPixels(200), Length.fromPixels(200)));
24pageSetup.setAnyPage(anyPage);
25options.setPageSetup(pageSetup);
26options.setBackgroundColor(Color.getAliceBlue());
27
28// Call the ConvertSVG to convert 'document.html' into jpeg image
29Converter.convertSVG("flower.svg", options, "flower.jpg");

Verifique la calidad de la conversión de SVG a JPG con nuestro [Convertidor de SVG a JPG] en línea (23). Sube, convierte tus archivos y obtén el resultado en unos segundos. ¡Pruebe nuestro potente conversor de SVG a JPG gratis ahora!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.