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

ayuda con creacion de imagen con graphics y java

Estas en el tema de ayuda con creacion de imagen con graphics y java en el foro de Java en Foros del Web. buenas tardes alguien sabria como hacer una imagen a partir de un texto? me explico para realizar una imagen usando graphics 2d digamos a partir ...
  #1 (permalink)  
Antiguo 17/02/2011, 12:23
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 6 meses
Puntos: 16
ayuda con creacion de imagen con graphics y java

buenas tardes alguien sabria como hacer una imagen a partir de un texto?

me explico para realizar una imagen usando graphics 2d digamos a partir de un codigo de barras hacemos esto

Código Java:
Ver original
  1. Barcode barcode = BarcodeFactory.createCode39("15152542", false);
  2.  barcode.setBarHeight(45);
  3.  barcode.setBarWidth(1);
  4.  BufferedImage image = BarcodeImageHandler.getImage(barcode);

y esto para cargar una imagen girarla y crear otra imagen con la nueva posicion

Código Javascript:
Ver original
  1. ImageIcon icon = new ImageIcon("/Users/bibigeek/Pictures/bibigeek2.jpg");
  2. int w = icon.getIconWidth();
  3. int h = icon.getIconHeight();
  4.  
  5. BufferedImage image = new BufferedImage(h, w, BufferedImage.TYPE_INT_RGB);
  6.  
  7. Graphics2D g2d = image.createGraphics();
  8. double x = (h- w)/2.0;
  9. double y = (w-h)/2.0;
  10.  
  11. AffineTransform at = AffineTransform.getTranslateInstance(x, y);
  12. at.rotate(Math.toRadians(270), w/2.0, h/2.0);
  13.  
  14. g2d.drawImage(icon.getImage(),at,icon.getImageObserver());
  15.  
  16. ImageIO.write(image,"png",new File("/Users/bibigeek/Pictures/prueba.jpg"));

ahora alguien sabe como crear la imagen con un texto digamos q la imagen diga "Hola Mundo"

algo asi

Graphics g = null;
Graphics2D g2d = (Graphics2D) g;
String mensaje = "Hola Mundo";
Font countryFont = new Font("Arial", Font.BOLD, 8);
g2d.setFont(countryFont);
FontMetrics countryfontMetrics = g2d.getFontMetrics();
g2d.drawString(mensaje, 0, 0);

y ese g2d quiero hacerlo imagen y guardarlo en disco

si alguien sabe les agradecere mucho su ayuda


gracias
  #2 (permalink)  
Antiguo 17/02/2011, 20:59
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: ayuda con creacion de imagen con graphics y java

Hola,

Posiblemente,

Código Java:
Ver original
  1. //
  2.         BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
  3.         Graphics2D g = (Graphics2D)image.getGraphics();
  4.         g.drawString("Hello", 60, 60);
  5.         jLabel1.setIcon(new ImageIcon(image));
Saludos,
  #3 (permalink)  
Antiguo 18/02/2011, 09:42
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 6 meses
Puntos: 16
Respuesta: ayuda con creacion de imagen con graphics y java

Cita:
Iniciado por HackmanC Ver Mensaje
Hola,

Posiblemente,

Código Java:
Ver original
  1. //
  2.         BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
  3.         Graphics2D g = (Graphics2D)image.getGraphics();
  4.         g.drawString("Hello", 60, 60);
  5.         jLabel1.setIcon(new ImageIcon(image));
Saludos,
HackmanC me sirvio de mucho en lo que me ayudaste el problema esta en q cuando se guarda la imagen po pone en un fondo negro y la letra en blanco sabrias como hacer para q el fondo lo ponga en blanco y la letra en negro??

este es el codigo q implemente con lo q me hiciste el favor de postear

Código Java:
Ver original
  1. import java.awt.Font;
  2. import java.awt.FontMetrics;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.geom.AffineTransform;
  6. import java.awt.image.BufferedImage;
  7. import java.io.File;
  8. import java.io.IOException;
  9. import javax.imageio.ImageIO;
  10. import javax.swing.ImageIcon;
  11.  
  12. public class crear_imagen {
  13.  
  14. public static void main(String[] args) throws IOException{
  15. BufferedImage image = new BufferedImage(66, 15, BufferedImage.TYPE_INT_RGB);
  16. Graphics2D g = (Graphics2D)image.getGraphics();
  17. String country = "25829674";
  18. Font countryFont = new Font("Arial", Font.BOLD, 14);
  19. g.setFont(countryFont);
  20. FontMetrics countryfontMetrics = g.getFontMetrics();
  21. g.drawString(country, 2, 12);
  22. image.createGraphics();
  23. ImageIcon icon =new ImageIcon(image);
  24.  
  25.  
  26. int w = icon.getIconWidth();
  27. int h = icon.getIconHeight();
  28. BufferedImage images = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
  29. Graphics2D g2d = images.createGraphics();
  30. double x = (h-w)/80.0;
  31. double y = (w-h)/80.0;
  32. AffineTransform at = AffineTransform.getTranslateInstance(x, y);
  33. at.rotate(Math.toRadians(180), w/2.0, h/2.0);//cambiar 180 grados
  34. g2d.drawImage(icon.getImage(),at,icon.getImageObserver());
  35. ImageIO.write(images,"jpg",new File("C:/prueba.jpg"));
  36.    
  37.     }
  38.  
  39. }

espero puedas ayudarme gracias
  #4 (permalink)  
Antiguo 18/02/2011, 19:43
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: ayuda con creacion de imagen con graphics y java

Hola,

No estoy seguro si existe una 'mejor' manera de hacerlo, pero yo normalmente lo realizo de la siguiente forma:

Código Java:
Ver original
  1. //
  2.         BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
  3.         Graphics2D graphics = (Graphics2D)image.getGraphics();
  4.         graphics.setBackground(Color.WHITE);
  5.         graphics.clearRect(0, 0, image.getWidth(), image.getHeight());
  6.         graphics.setColor(Color.BLACK);
  7.         graphics.drawString("Hello", 60, 60);

Saludos,
  #5 (permalink)  
Antiguo 30/05/2011, 10:58
 
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Respuesta: ayuda con creacion de imagen con graphics y java

Si deseas que sea transparente usa lo siguiente:

AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER ,0.40f);
g2d.setComposite(alpha);

Etiquetas: graficos
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 13:44.