Clipper On Line • Ver Tópico - Paleta de colores

Paleta de colores

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Paleta de colores

Mensagempor Adalberto » 27 Mai 2020 15:27

Maestros y amigos, buenas tardes

Deseo saber como se puede ejecutar una paleta de colores, más o menos como la de paint, con Harbour-modo consola,

Aguardo y agradezco vuestra ayuda.

Atte. Adalberto
Anexos
Paleta de colores.jpg
Paleta de colores.jpg (24.88 KiB) Visualizado 847 vezes
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Paleta de colores

Mensagempor lwinter » 27 Mai 2020 21:21

Ola Adalberto!
Eu desenvolvi uma classe para tratar paletas, temas e shemas de cores em console. Sei que voce nao vai utilizar a classe mas ela possui metodos que podem tirar a sua duvida. Ela é bem completa e abrangente.

segue em anexo:
Anexos
class-palette.prg
(29.36 KiB) Baixado 64 vezes
lwinter
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 123
Data de registro: 07 Mar 2011 12:08
Cidade/Estado: Campinas - SP
Curtiu: 1 vez
Mens.Curtidas: 12 vezes

Paleta de colores

Mensagempor Adalberto » 27 Mai 2020 23:36

lwinter, buenas noches.

Agradecido por tu respuesta y deseo de ayudar, es cierto que no utilizaré las Clases porque no se como se utilizan, las voy a estudiar para aprovechar tu ayuda lo mejor que pueda.

Mi deseo es generar una ventana donde aparezcan los colores y conseguir el valor decimal del color señalado. (algo parecido al que muestra Paint).

Actualmente puedo cambiar los colores originales de clipper por otros de mi preferencia, pero me agradaría poder elegir un color y aplicarlo en tiempo de ejecución.

Espero vuestras noticias.

Muchas gracias.

Un abrazo desde Santa Cruz de la Sierra - Bolivia
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Paleta de colores

Mensagempor lwinter » 31 Mai 2020 14:44

Exemplo de usar a classe TPalette. Eu pessoalmente uso direto a TColorSchema.

corApp := TPalette ():New ()
corApp:SetPalette ( { ;
/* 0*/ 'gray 1' => '#3C3C3C', ;
/* 1*/ 'black 0' => '#232323', ;
/* 2*/ 'gray 0' => '#323948', ;
/* 3*/ 'verde 0' => '#257C5C', ;
/* 4*/ 'vermelho' => '#D0020E', ;
/* 5*/ 'rosa' => '#CD4B53', ;
/* 6*/ 'gray 3' => 'VSCODE 3', ; // voce pode optar em usar um tema do colection da classe Tpalete ou diretamente um codigo rgb #
/* 7*/ 'white 0' => 'SILVER', ;
/* 8*/ 'gray 4' => 'VSCODE 4', ;
/* 9*/ 'azul 0' => 'AZUL DARK', ;
/*10*/ 'verde 1' => 'EMERALD', ;
/*11*/ 'gray 2' => 'MOVAVI BOTAO SEL', ;
/*12*/ 'black 1' => 'VSCODE BLACK', ;
/*13*/ 'black 2' => 'MOVAVI PAINEL BOT', ;
/*14*/ 'white 1' => 'CLOUDS', ;
/*15*/ 'white 15' => 'WHITE'
} )

Note que no Harbour por heranca do clipper voce so pode usar 16 cores do RGB por vez. Caso voce altere a paleta de um determinado indice, toda a tela que se referenciar aquela cor ira mudar automaticamente.

o metodo xRGB_To_nRGB (xPalette) calcula o valor no formato utilizado por registrador do hb_gtInfo (HB_GTI_PALETTE, {}) de varias formas.
Exemplos:
corApp: xRGB_To_nRGB ('#345D1F')
ou
corApp: xRGB_To_nRGB ({ 122, 250, 12 })
ou
corApp: xRGB_To_nRGB (850554)
lwinter
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 123
Data de registro: 07 Mar 2011 12:08
Cidade/Estado: Campinas - SP
Curtiu: 1 vez
Mens.Curtidas: 12 vezes

Paleta de colores

Mensagempor Adalberto » 31 Mai 2020 19:53

IWinter, buenas noches

Muy agradecido con tu ayuda.

Con vectores tengo resuelto el tema del cambio de color en la aplicación.

Mi deseo es poder presentar una ventana con todos los colores y cuando el usuario de clik en uno de los colores esa ventana me devuelva los valores decimales de ese color, ej. 32, 32, 32
luego yo utilizaría esos valores para cambiar el color de la aplicación.

De esa manera la aplicación tendría el color que le agrada al usuario.

De nuevo te agradezco tu buena voluntad y ayuda.

Abrazos, Adalberto
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Paleta de colores

Mensagempor JoséQuintas » 31 Mai 2020 21:14

#include "hbgtinfo.ch"
#include "inkey.ch"

PROCEDURE pSetupColor

   LOCAL cCorAnt, cCor, nCont, nCont2, nOpc, aPalette, wTela, nColor, nRGB

   aPalette := hb_gtInfo( HB_GTI_PALETTE )
   cCorAnt  := SetColor()
   SAVE SCREEN TO wTela
   DO WHILE .T.
      RESTORE SCREEN FROM wTela
      @ 1, 0 SAY ""
      FOR nCont = 0 TO 15
         @ Row()+2, 0 SAY ""
         nColor := aPalette[ nCont + 1 ]
         nRgb := { 0, 0, 0, nColor }
         nRgb[ 1 ] := Mod( nColor, 256 )
         nRgb[ 2 ] := Mod( Int( nColor / 256 ), 256 )
         nRgb[ 3 ] := Int( nColor / 256 / 256 )

         @ Row(), 0 PROMPT Pad( Str( nCont, 2 ) + " : " + Str( nRgb[ 1 ], 3 ) + "." + Str( nRgb[ 2 ], 3 ) + "." + Str( nRgb[ 3 ], 3 ), 20 )
         FOR nCont2 = 0 TO 15
            cCor := LTrim( Str( nCont2 ) ) + "/" + LTrim( Str( nCont ) )
            @ Row(), 21 + nCont2 * 6 SAY Pad( cCor, 6 ) COLOR cCor
         NEXT
      NEXT
      MENU TO nOpc
      IF nOpc == 0 .OR. LastKey() == K_ESC
         EXIT
      ENDIF
      nColor := wvt_ChooseColor( aPalette[ nOpc ] )
      IF nColor >= 0
         aPalette[ nOpc ] := nColor
      ENDIF
      hb_gtInfo( HB_GTI_PALETTE, aPalette )
   ENDDO
   SetColor( cCorAnt )
   MsgExclamation( "Ok" )

   RETURN


color.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18158
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Paleta de colores

Mensagempor Abel » 01 Jun 2020 18:12

seria interessante se pudessemos definir mais cores ,
pois o limite de 16 cores complica bastante.

sera que nao tem uma forma ?
Abel
Abel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 14 Mar 2012 13:16
Cidade/Estado: sao paulo / sp
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Paleta de colores

Mensagempor Adalberto » 01 Jun 2020 18:21

JoséQuintas, buenas tardes.

Ese código que usted ha compartido es exacto lo que estaba buscando, muy buen trabajo y mejor voluntad para compartirlo.

Muchísimas gracias maestro JoséQuntas.

Un atento saludo.

Adalberto
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro