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

Cambiar tamaño ancho o alto por separado de una fuente de texto

Estas en el tema de Cambiar tamaño ancho o alto por separado de una fuente de texto en el foro de Java en Foros del Web. Como cambio solo el ancho o el alto de una fuente de texto. En el código de abajo cuando declaro el objeto f con Font ...
  #1 (permalink)  
Antiguo 13/08/2014, 08:29
Avatar de loganbdn  
Fecha de Ingreso: enero-2009
Ubicación: Badalona
Mensajes: 114
Antigüedad: 15 años, 3 meses
Puntos: 1
Cambiar tamaño ancho o alto por separado de una fuente de texto

Como cambio solo el ancho o el alto de una fuente de texto.

En el código de abajo cuando declaro el objeto f con Font le pongo a la fuente de texto un tamaño de 16.

Mas adelante cuando imprima un String me interesa cambiar el tamaño de la fuente pero solo en el ancho es decir por ejemplo que el ancho sea el doble y el alto se queda tal cual.


Código:
.
.
.

Font f = new Font ("Monospaced",Font.PLAIN, 16);       
g2.setFont(f);                       	  
g2.drawString("HOLA", 100, 100);

.
.
  #2 (permalink)  
Antiguo 14/08/2014, 07:17
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Cambiar tamaño ancho o alto por separado de una fuente de texto

Hola:

La fuente no admite eso, solo tiene un único entero de tamaño.

Si g2 es un Graphics2D (si no lo es, puedes hacer un cast), prueba a usar el método scale(2.0, 1.0) antes de dibujar la fuente. Luego tienes que escalar al contrario para que siga dibujando normal. Ten en cuenta también que mientras esta escalado, debes poner que las x sean la mitad. Por ejemplo, el siguiente código

Código Java:
Ver original
  1. public void paint(Graphics g){
  2.                 super.paint(g);
  3.  
  4.                 g.drawString("uno",10,50);
  5.  
  6.                 ((Graphics2D)g).scale(2.0, 1.0);  // Se ensancha
  7.                 g.drawString("dos",5,60);   // La x es la mitad que antes, 5 en vez de 10
  8.  
  9.                 ((Graphics2D)g).scale(0.5, 1.0);  // Se deja como estaba.
  10.                 g.drawString("tres",10,70);
  11.             }

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 05/12/2014, 15:51
Avatar de loganbdn  
Fecha de Ingreso: enero-2009
Ubicación: Badalona
Mensajes: 114
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Cambiar tamaño ancho o alto por separado de una fuente de texto

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

La fuente no admite eso, solo tiene un único entero de tamaño.

Si g2 es un Graphics2D (si no lo es, puedes hacer un cast), prueba a usar el método scale(2.0, 1.0) antes de dibujar la fuente. Luego tienes que escalar al contrario para que siga dibujando normal. Ten en cuenta también que mientras esta escalado, debes poner que las x sean la mitad. Por ejemplo, el siguiente código

Código Java:
Ver original
  1. public void paint(Graphics g){
  2.                 super.paint(g);
  3.  
  4.                 g.drawString("uno",10,50);
  5.  
  6.                 ((Graphics2D)g).scale(2.0, 1.0);  // Se ensancha
  7.                 g.drawString("dos",5,60);   // La x es la mitad que antes, 5 en vez de 10
  8.  
  9.                 ((Graphics2D)g).scale(0.5, 1.0);  // Se deja como estaba.
  10.                 g.drawString("tres",10,70);
  11.             }

Se bueno.
Ok, ya me distes una idea

Etiquetas: alto, ancho, fuente, separado, tamaño
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 03:50.