Para a classe ImageIO, método getImageWritersByFormatName api
https://docs.oracle.com/javase/8/docs/api/javax/imageio/ImageIO.html
disse
Retorna um Iterator contendo todos os ImageWriters atualmente registrados que afirmam ser capazes de codificar o formato nomeado.
Mas como saber quais ImageWriters cadastrados meu servidor possui? Principalmente, quero saber se meu servidor possui gravador de imagens WMF registrado.
E se não, como registrar um gravador de imagens WMF?
A resposta é fácil, você faz exatamente o que a documentação sugere:
Ao executar esse código no servidor, ele imprimirá os gravadores WMF instalados. Muito provavelmente, porém, você descobrirá que seu servidor não possui nenhum gravador WMF instalado.
Supondo que por "WMF" você queira dizer Windows Metafile format , duvido que você encontre algum plugin de gravação do ImageIO. O WMF é usado principalmente para armazenar gráficos "vetoriais" na forma de comandos de desenho, mas isso não é possível na API ImageIO, que é projetada para gráficos raster. Seria possível criar uma implementação de gravador que armazenasse um WMF simples contendo um bitmap se você realmente precisasse, mas nesses casos usar um formato raster simples, como BMP ou PNG, faria mais sentido.
Normalmente, os plug-ins ImageIO (como
ImageWriter
s eImageReader
s) são instalados por meio do mecanismo JAR Service Provider (SPI) . Também é possível registrar um plugin em tempo de execução, usando um código como:(onde
WMFWriterSpi
é o provedor de serviçosImageWriterSpi
queImageWriter
suporta o formato WMF).