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.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.