Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Error al escribir una imagen .TIF

Estas en el tema de Error al escribir una imagen .TIF en el foro de Java en Foros del Web. Estoy haciendo una rutina para poner marcas de agua en imagenes, el sistema funciona muy bien con todas las imagenes menos con las TIFs donde ...
  #1 (permalink)  
Antiguo 13/04/2016, 21:24
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 10 años, 4 meses
Puntos: 0
Error al escribir una imagen .TIF

Estoy haciendo una rutina para poner marcas de agua en imagenes, el sistema funciona muy bien con todas las imagenes menos con las TIFs donde directamente da un nullpointer

Alguna idea de por que no funciona?

Se supone que Java8 ya tenia el soporte para TIFs en el ImageIO

Código Java:
Ver original
  1. BufferedImage sourceImage = ImageIO.read(origen);
  2.    
  3.         Graphics2D g2d = (Graphics2D) sourceImage.getGraphics();
  4.  
  5.         // inicializo las propiedades de buentes, color, transparencia
  6.         AlphaComposite alphaChannel = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.1f);
  7.         g2d.setComposite(alphaChannel);
  8.         g2d.setColor(Color.WHITE);
  9.         g2d.setFont(new Font("Arial", Font.BOLD, 64));
  10.         FontMetrics fontMetrics = g2d.getFontMetrics();
  11.         Rectangle2D rect = fontMetrics.getStringBounds(text, g2d);
  12.  
  13.         // calculo las coordenadas donde poner la marca en este caso la centro
  14.         int centerX = (sourceImage.getWidth() - (int) rect.getWidth()) / 2;
  15.         int centerY = sourceImage.getHeight() / 2;
  16.  
  17.         // dibujo la marca
  18.         g2d.drawString(text, centerX, centerY);
  19.  
  20.         ImageIO.write(sourceImage, "png", destino);
  21.         g2d.dispose();

Etiquetas: tif
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:36.