Fala ai Radizeiros e Radizeiras, tudo bem com vocês?
Um dos grandes mistérios ao criar um layout em uma ferramenta gráfica, como por exemplo o Photoshop, é as cores, pegar seus códigos hexadecimais, RGB e trazer para dentro do Delphi se torna as vezes uma grande dor de cabeça que muitos de nós programadores Delphi acabamos desistindo, e deixamos de melhorar o visual de nosso software.
Por este motivo resolvi lhe passar o pulo do gato para resolver esse problema.
O real cenário
Sabemos que na VCL as cores vem iniciada com $00 e no FMX, as cores vem iniciadas com #FF antes do código das cores, desta forma a mesma recebe a cor do código determinado.
Num formulário possui um panel, nesse panel temos a propriedade color.
Nesta propriedade color do panel irá receber os caracteres hexadecimal da paleta de cores do Photoshop:
Colocamos os caracteres na propriedade color da panel, e nos deparamos com um erro.
Assim também se colocarmos o #FF antes do código como dito anteriormente, também irá gerar o erro.
Essa é a mensagem de erro:
Mas e agora o que devo fazer
Na VCL em vez de usarmos o #FF devemos usar o $00 antes do código hexadecimal que copiamos do Photoshop.
Desta forma o Delphi irá aceitar o código hexadecimal na propriedade color do componente:
Não resultando em erro e o componente recebe a cor:
Mas pera ai, perfeitamente nada, nós não pegamos o código hexadecimal do azul no Photoshop, por que está aparecendo outra cor?
Tudo errado, o que devo fazer?
Agora que vem a dica matadora para que você possa pegar informações de seu layout e importar para o Delphi.
Você viu que colocamos o código, usamos as iniciais $00 para a VCL e mesmo assim a cor veio diferente do que definimos, é neste momento que nós programadores começamos a nos descabelar sem compreender o por que da cor não está seguindo o padrão do seu código.
O Delphi interpreta as cores do padrão RGB de trás para frente…
Isso mesmo, ele interpreta como BGR…
O que devemos fazer é só pegar de trás para frente os códigos das cores de dois em dois, ficando desta forma.
No Photshop:
678dfe
No Delphi VCL:
$00fe8d67
No Delphi FMX:
#FFfe8d67
Percebeu, o código foi invertido, porem de dois em dois caracteres
Olha só como ficou agora em nosso componente:
Prontinho, agora temos aquele azul que desenhamos no Photoshop.
Resumo
Pegamos o código hexadecimal do Photoshop e colocamos na propriedade color do componente panel os caracteres $00 antes do código hexadecimal que copiamos e alteramos esse código, pegando de trás para frente de dois em dois, os dois últimos jogamos para depois do $00, depois pegamos os dois últimos novamente e colocamos após os dois últimos anteriores.
Desta forma você pode pegar qualquer valor hexadecimal de qualquer ferramenta de gráfica e importar para o Delphi, sem medo…
E caso você tenha interesse de conhecer mais sobre Aplicar Design Criativo no Delphi acesse o nosso portal do CLUBE DE PROGRAMADORES EM DELPHI, onde você não terá só conteúdos relacionados ao Design , mas uma quantidade enorme de conteúdos que poderá lhe ajudar muito no seu dia a dia, é uma verdadeira NETFLIX para os programadores Delphi.
CLIQUE AQUI E SAIBA MAIS SOBRE O CLUBE DOS PROGRAMADORES DELPHI