PDA

Ver la Versión Completa : borde en un texto


malditango
13-12-2017, 21:10:28
Buenas tardes gente, quiero consultar si es posible poner un borde a un texto , estoy usando un label y una imagen por debajo del texto. el texto lo tengo en blanco pero en la imagen ahi lugar claros donde no se aprecia el texto y lo que quiero hacer un borde negro para q se distinga y se entiende lo que esta escrito.

Casimiro Notevi
13-12-2017, 21:40:45
¿Poner un borde a un TLabel?

WHILENOTEOF
13-12-2017, 21:44:40
Puedes probar a cambiar el color del fondo y el de la fuente del label para que tenga más contraste. Si quieres un borde, con un TShape debajo lo puedes simular. También es posible que haya algún componente en jedi vcl u otras librerías gratuitas que lo tengan.

duilioisola
14-12-2017, 12:02:52
Puedes también imprimir dos veces el texto en el Canvas de la imagen.
Primero en negro y luego en blanco, pero un pixel más arriba y un pixel más a izquierda.
Esto da un efecto sombra.


with Imagen.Canvas do
begin
// Esto hace que el fondo de las letras sea transparente
SetBKMode(Handle, TRANSPARENT);

// Escribo en negro (la sombra)
Font.Color := clBlack;
TextOut(20, 20, 'Prueba');

// Escribo en blanco, 1px desfasado
Font.Color := clWhite;
TextOut(19, 19, 'Prueba');
end;

Neftali [Germán.Estévez]
15-12-2017, 08:30:35
Entiendo que lo que quiere hacer es conseguir un TLabel con el fondo transparente y dos colores, uno para el borde del texto y otro para el rellleno del texto.
Con los componentes Delphi no se puede hacer. Tienes varias opciones.
La de [duilioisola] es aproximada, aunque no exacta.
Otra opción es buscar algún componente externo que lo haga (desconozco si hay alguno)
La opción de hacerlo manualmente a través del canvas no parece fácil.

Casimiro Notevi
15-12-2017, 09:44:58
Creo recordar que las RX tienen un label que puedes poner ese borde al texto, más o menos ancho, con "sombra" a izquierda o derecha, etc.