Jump to content
Sign in to follow this  
Belini

Colocar contorno nas letras e números

Recommended Posts

Preciso mostrar números e letras com contorno preto e até achei como fazer usando GDI mas nao queria usar assim, alguém sabe como colocar contorno nas letras sem usar GDI?

Contorno.jpg

Share this post


Link to post
Share on other sites

A unica solução que achei foi colocar fonte vazada ou fazer 2 labes um em cima do outro. @Luigi ou @Manimal. Sabem me dizer pq alguns programas usam imagens ao invés de fontes? Eu imaginei que Linux não segue a lei de fonte do windows.

Edited by Pedro Pinheiro

Share this post


Link to post
Share on other sites

Pergunto porque daí não seria mais fácil usar esta mesma fonte para escrever o LABEL dentro do AutoIt?

 

Tipo seleciona a fonte usando GUICtrlSetFont e vc já tem o efeito desejado!

 

Aliás, com a quantidade de fontes de quem disponível hoje, as possibilidades são infinitas... :600866:

 

O problema desta dica é que teoricamente vc poderia usar apenas as fontes já registradas no Windows, ou teria que registrar a fonte onde vc está instalando o programa e isto é mais complicado.

 

Para resolver esta situação, porque não carregar a fonte apenas para seu programa?

 

Basta colocar a fonte na mesma pasta onde está o seu script e mandar carregar a fonte sem instalá-la usando a função _WinAPI_AddFontResourceEx

A partir daí, basta selecionar a fonte como se fosse uma fonte normal do Windows.

 

Exemplo (retirado do Help):

#include <APIGdiConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WinAPIGdi.au3>

_WinAPI_AddFontResourceEx(@ScriptDir & '\Extras\SF Square Head Bold.ttf', $FR_PRIVATE)

GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 100)
GUICtrlCreateLabel('Simple Text', 10, 25, 380, 50, $SS_CENTER)
GUICtrlSetFont(-1, 38, -1, -1, 'SF Square Head Bold')
GUICtrlSetColor(-1, 0xF06000)
GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

;)

  • Like 2

Share this post


Link to post
Share on other sites

Site de procura e download de fontes está cheio...

 

Eu gosto do Google Fonts para meus trabalhos e apresentações, mas tem inúmeros sites...

 

Novamente, basta escolher a melhor fonte para seu programa e pronto!

Share this post


Link to post
Share on other sites

Obrigado @Manimal, vai dar certo da maneira que vc falou, agora só vou procurar a fonte que fique melhor no meu programa!

  • Like 1

Share this post


Link to post
Share on other sites

Acho que o site bugou :huh: igual aconteceu com o Pedro , pois meus dois comentários sumiram desse tópico.

 

Pergunto porque daí não seria mais fácil usar esta mesma fonte para escrever o LABEL dentro do AutoIt?

 

Tipo seleciona a fonte usando GUICtrlSetFont e vc já tem o efeito desejado!

 

Aliás, com a quantidade de fontes de quem disponível hoje, as possibilidades são infinitas... :600866:

 

O problema desta dica é que teoricamente vc poderia usar apenas as fontes já registradas no Windows, ou teria que registrar a fonte onde vc está instalando o programa e isto é mais complicado.

 

Para resolver esta situação, porque não carregar a fonte apenas para seu programa?

 

Basta colocar a fonte na mesma pasta onde está o seu script e mandar carregar a fonte sem instalá-la usando a função _WinAPI_AddFontResourceEx

A partir daí, basta selecionar a fonte como se fosse uma fonte normal do Windows.

 

Exemplo (retirado do Help):

#include <APIGdiConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WinAPIGdi.au3>

_WinAPI_AddFontResourceEx(@ScriptDir & '\Extras\SF Square Head Bold.ttf', $FR_PRIVATE)

GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 100)
GUICtrlCreateLabel('Simple Text', 10, 25, 380, 50, $SS_CENTER)
GUICtrlSetFont(-1, 38, -1, -1, 'SF Square Head Bold')
GUICtrlSetColor(-1, 0xF06000)
GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

;)

 

@Manimal bela dica ... tem uma outra forma que é usando a fonte em Binário também , mas essa ai do Help é Show.

 

@Belini, será que o _WinAPI_DrawShadowText não te ajuda?

 

Sei que é possível mexer nas opções do shadow para mudar cor, intensidade, etc...

 

@Luigi

Realmente no HELP já tem muita coisa boa para usar com referência. ;)

 

AutoIt tem a maior documentação OFF Line ... SHOW ... Bem diferente do C++ e outras linguagens que a documentação é OnLine.

 

Editado: Luigi , você sabe se está função _WinAPI_DrawShadowText tem como manipular a sombra em relação a expansão , como no photoshop ?

 

Já vi que mover ela em relação ao texto é boa , oque falo mesmo é deixar ela bem precisa com opacidade ZERO.

 

Valeu.

Edited by Fábio iGames
  • Like 1

Share this post


Link to post
Share on other sites

Ooou você pode escrever em GDI e depois enviar para o Control. Igual a UDF que utiliza PNG no Label, mas ao invés de imagem você escreve um texto. Dessa forma não necessita ficar redesenhando toda hora a imagem e assim economiza processo e o executável continua leve como se estivesse escrito um simples texto no label.

  • Like 1

Share this post


Link to post
Share on other sites

Ooou você pode escrever em GDI e depois enviar para o Control. Igual a UDF que utiliza PNG no Label, mas ao invés de imagem você escreve um texto. Dessa forma não necessita ficar redesenhando toda hora a imagem e assim economiza processo e o executável continua leve como se estivesse escrito um simples texto no label.

 

Eu sei disso Pedrão , usar GDI+ não pesa se usar corretamente , pois vai setar somente uma fez...

 

Por aqui @Luigi é o cara no GDI+ , e você está crescendo gigantescamente no GDI+ também ... :up:

 

As possibilidades são incríveis , e também como você disse é piscadinha Zero em labels e etc. :lol:

 

Eu brinco um pouco e estou tomando gosto a cada dia mais pelo GDI+. ;)

Edited by Fábio iGames

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×