Os arquivos SVG são gráficos vetoriais escaláveis usados principalmente na web. Tecnicamente, SVG é um formato de imagem vetorial baseado em XML para definir gráficos bidimensionais com suporte de animação. As imagens SVG têm alta densidade de pixels, portanto, dificilmente reduzem sua qualidade no zoom. Esses recursos aumentam o tamanho das imagens SVG em comparação com as imagens JPG. Devido às diferenças de recursos, surge a necessidade de converter imagens de um formato para outro. Este artigo discute como converter vetores SVG em imagens JPG em Java.

Converter SVG para JPG em Java (Grayscale, Rotate, Flip, Bright Watermark)

API Java para converter imagens

GroupDocs.Conversion equipa os desenvolvedores Java com sua API para converter várias imagens em diferentes formatos. Os resultados da conversão podem ser personalizados usando várias opções avançadas. Usarei esta API Java, GroupDocs.Conversion for Java para converter os arquivos vetoriais SVG em formato de imagem JPG.

Baixe ou configure

Você pode baixar o arquivo JAR da seção de downloads, ou apenas obter as configurações de repositório e dependência para o pom.xml de seus aplicativos Java baseados em maven.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-conversion</artifactId>
        <version>22.3</version> 
</dependency>

Converter SVG para imagem JPG em Java

Vamos começar com a conversão básica com as configurações padrão. As etapas a seguir mostram como converter o gráfico vetorial SVG no formato de imagem JPG em Java.

  • Carregue o gráfico SVG usando a classe Converter.
  • Prepare as opções de conversão de imagem.
  • Defina o tipo de arquivo de conversão como JPG.
  • Converta para imagem JPG usando o método convert() apropriado com opções preparadas.

O código-fonte Java a seguir converte o SVG em uma imagem JPG.

// Como converter o arquivo SVG para o formato JPG em Java usando as opções padrão
Converter converter = new Converter("path/vector-graphics.svg");

ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Jpg);

converter.convert("path/svg-to-jpg.jpg", options);

SVG para imagem JPG usando opções avançadas em Java

Ao converter os gráficos vetoriais, muitas outras opções podem ser aplicadas à saída JPG para personalizar a imagem de acordo com o requisito. A seguir estão algumas das propriedades que podem ser ajustadas durante a conversão de SVG para JPG:

  • Brilho
  • Contraste
  • Gama
  • Escala de cinza
  • Modo de inversão (horizontal / vertical)
  • Ângulos de rotação
  • Altura
  • Largura
  • Marca d’água

As etapas a seguir mostram como aplicar personalizações ao converter um gráfico SVG em uma imagem JPG em Java.

  • Carregue o gráfico SVG usando a classe Converter.
  • Prepare as opções de conversão de imagem.
  • Defina o tipo de arquivo de conversão como JPG.
  • Defina outras propriedades relevantes usando os respectivos métodos de configuração e ajuste seus valores de acordo.
  • Converta para imagem JPG usando o método convert() com opções preparadas.

O código-fonte a seguir aplica a personalização à imagem JPG enquanto a conversão de SVG para JPG em Java. Você pode aplicar qualquer um desses efeitos ou em combinação para obter a saída JPG desejada.

// Converta o arquivo SVG para o formato JPG em Java usando várias personalizações
Converter converter = new Converter("path/vector-graphics.svg");

ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Jpg); // Set output format as JPG

options.setFlipMode(ImageFlipModes.FlipY); // Flip Vertically or Horizontally
options.setBrightness(50);  // Set Brightness
options.setContrast(50);    // Set Contrast
options.setGamma(0.5F);     // Set Gamma
options.setGrayscale(true);	// Set Grayscale
options.setRotateAngle(45);	// Set Rotation

// Adicionar marca d'água ao JPG quando convertido do formato SVG
WatermarkTextOptions watermark = new WatermarkTextOptions("Watermark");
watermark.setColor(Color.BLUE);
watermark.setBackground(false);
watermark.setRotationAngle(-45);
watermark.setTop(50);
watermark.setLeft(50);
watermark.setTransparency(0.2);
watermark.setWidth(450);
watermark.setHeight(450);
options.setWatermark(watermark);

converter.convert("path/svg-to-jpg-customized.jpg", options);

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.

Conclusão

Para concluir, aprendemos a converter gráficos vetoriais SVG para o formato JPG em aplicativos Java. Também discutimos como podemos girar, inverter ou marcar arquivos SVG com marca d’água quando convertidos para JPG. Além disso, ajustamos as opções de brilho, gama e tons de cinza.

Tente construir seu próprio aplicativo Java de conversão de imagem, você pode aprender mais sobre as APIs Java de código baixo e alto código na documentação para a automação de conversões de documentos e imagens.

A maneira mais fácil é experimentar os exemplos do GitHub. Contacte-nos para qualquer questão através do fórum.

Veja também