|
Página 1 de 1
|
Paint.DrawText No Funciona Correctamente?
Autor |
Mensaje |
xmuno
Usuario
Registrado: Febrero 2015
Mensajes: 49
Edad: 51
|
Paint.DrawText No Funciona Correctamente?
Hola,
He probado:
Paint.Drawtext(texto,x,y,w,h,Align.Center)
Segun la documentación de gambas, los parametros w,h,Align son opcionales. Si los utilizamos se genera un contenedor definido por w y h, de donde en principio el texto deberia quedar encajado, aplicando ademas una alineación para ese contenedor, o eso es lo que dice la documentación. Mi realidad es que cuando el texto sobrepasa los límites definidos para el contenedor, no se "oculta" la parte que sale fuera del contenedor, si no que se dibuja. Si entiendo bien la documentación, no deberia ser así, así que entiendo que, o bien hay alguna cosa que no estoy haciendo correctamente, o bien es un bug. Podria alguien probarlo y ver si tambien le pasa?
Gracias.
Por cierto, utilizo gambas 3.8.1.
última edición por xmuno el Martes, 06 Octobre 2015, 12:29; editado 3 veces
|
#1 Martes, 06 Octobre 2015, 09:11 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Paint.DrawText No Funciona Correctamente?
Hola,
He probado:
Paint.Drawtext(texto,x,y,w,h,Aling.Center)
Segun la documentación de gambas, los parametros.......Aling son opcionales.
.... Align no Aling
cuando el texto sobrepasa los límites definidos para el contenedor, no se "oculta" la parte que sale fuera del contenedor
Sì, he visto. Ocurre a mi tambien, pero no se si eso es un bug o es normal.
Saludos
|
#2 Martes, 06 Octobre 2015, 12:00 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Paint.DrawText No Funciona Correctamente?
xmuno:
Entonces,¿ quieres que el texto se corte cuando salga del rectángulo ?.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#3 Martes, 06 Octobre 2015, 12:37 |
|
|
xmuno
Usuario
Registrado: Febrero 2015
Mensajes: 49
Edad: 51
|
Re: Paint.DrawText No Funciona Correctamente?
Hola Shell,
A mi parecer si, seria lo más lógico...
|
#4 Martes, 06 Octobre 2015, 12:48 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Paint.DrawText No Funciona Correctamente?
Hola!.
Esto no es un ejemplo nuevo, se usa Paint.Text y tambien Paint.Rectangle, necesitamos usar Paint.Clip para
poder cortar el texto. No es Paint.DrawText pero podría valer.
Paint.Save y Paint.Restore son fundamentales para crear el efecto.
Private bdibuja As Boolean
Public Sub Form_Open()
Me.Center
End
Public Sub Dibujar()
Paint.Save
Paint.Rectangle(10, 10, 200, 100)
Paint.Stroke(True)
Paint.Clip
Paint.Font.Size = 18
Paint.Text("Ser de gambas o ser de Python, he aquí el dilema", 10, 10, 30, 30)
Paint.Fill
Paint.Restore
Paint.Text("Ser de gambas o ser de Python, he aquí el dilema", 10, 40, 30, 30)
Paint.Fill
End
Public Sub Drw_Draw()
If bdibuja Then Dibujar()
End
Public Sub btnDibuja_Click()
bdibuja = True
Drw.Clear
Drw.Refresh
End
Tenemos un tamaño fijo de rectángulo definido. Podemos averiguar que tamaño tiene nuestro texto y cortar hasta cierta parte del texto.
Jugando con porcentajes.
Subo el código y vamos preguntando. Podemos comentar lineas y ver el efecto que hace. Jugando es como mejor se aprende.
La fuente original es Painting de Gambas3.
Fijaros que pasa si se comenta el primer Paint.Fill
Naturalmente la fuente del primer texto es tan grande que ya de por si se sale del DrawingArea.
Saludos
Descripción: |
|
Descargar |
Nombre del archivo: |
TextoRecortadoRectangulo.tar.gz |
Tamaño: |
5.59 KB |
Descargado: |
28 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
TextoRecortadoRectangulo.tar.gz |
Tamaño: |
5.59 KB |
Descargado: |
28 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
TextoRecortadoRectangulo.tar.gz |
Tamaño: |
5.59 KB |
Descargado: |
28 veces |
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#5 Martes, 06 Octobre 2015, 13:23 |
|
|
xmuno
Usuario
Registrado: Febrero 2015
Mensajes: 49
Edad: 51
|
Re: Paint.DrawText No Funciona Correctamente?
Shell,
En la documentación de gambas, después de darle unas cuantas vueltas al asunto, he encontrado esto , que creo que es lo que quiero.
Paint.DrawText(Paint.TrimText(texto,ancho,alto),x,y,ancho,alto,alinea)
Paint.Stroke
Este codigo genera un contenedor que; hace un salto de línea automático y, cuando no puede hacer nada mas, recorta el texto poniendo tres puntos suspensivos al final. Pero no deja que el texto salga del contenedor en ningún momento.
Como lo veis?
Edito:
Citar:
Pero no deja que el texto salga del contenedor en ningún momento.
Dependiendo del tamaño de la fuente y del tamaño del contenedor es posible que se salga fuera del contenedor. Pero en general funciona bastante bien.
última edición por xmuno el Martes, 06 Octobre 2015, 15:02; editado 1 vez
|
#6 Martes, 06 Octobre 2015, 14:51 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|