Galeria de UIs escritas em MQL - página 49

 

A tarefa acima é apenas um exemplo de cálculos complexos de cores. Sei como trabalhar com um gradiente regular. Também sei como trabalhar com transparência. Os ícones são irregulares apenas porque os baixei gratuitamente de uma fonte duvidosa. A função de transparência não os corrigirá, pois não é possível selecionar programaticamente os pixels da imagem que precisam ser tornados transparentes. E se fosse possível, você não precisaria da função de transparência. Apenas inserimos a cor do pixel subjacente nesse local.

Devemos admitir que a interface é graficamente imperfeita. Isso é verdade. Mas você tem que admitir. ela é bastante aceitável.

O que importa é a funcionalidade.

 
Renat Akhtyamov #:

Essa é a sombra.

Se a cor for contrastante, ela só será bonita para o usuário, pois o artista ficará entediado com ela.

É isso mesmo, é a sombra e também o ângulo, a iluminação, o brilho.....

Não há tempo para tudo isso.

 
Реter Konow #:

É isso mesmo, é a sombra, mas também o ângulo, a iluminação, o brilho.....

Não há tempo para tudo isso.

Depende de você. É apenas uma resposta.

Na maioria das vezes, a pessoa se sente confortada com a presença de uma resposta, não com sua realização ou falta dela.

É um fato da psicologia.

---

o brilho só ocorrerá em superfícies irregulares, como uma bola, um toro.

 
Quando tentei pintar a moldura do botão, primeiro dividi a cor principal em uma gama de tons usando a função gradiente. Depois de obter a gama da cor original, repintei as linhas da moldura com as cores selecionadas da gama. O resultado foi ruim. Não é natural. Tentei percorrer a faixa ao longo da curva, repetindo a curvatura da cor cinza original da moldura do botão. Novamente não ficou tão bom. Mais precisamente, com algumas cores eu consegui quase exatamente, com outras não. Então entendi que precisava de uma fórmula especial para misturar a cor cinza das linhas da moldura com a cor do botão. Mas não consegui encontrar a fórmula rapidamente. Desisti da ideia.
 
Реter Konow #:
Quando tentei pintar a moldura do botão, primeiro dividi a cor principal em um intervalo usando a função gradiente. Depois de obter uma gama de tons da cor original (do botão), simplesmente repintei as linhas da moldura com as cores selecionadas da gama. O resultado foi ruim. Não é natural. Tentei percorrer o intervalo em uma curva que repetia a curvatura da cor cinza original da moldura do botão. Não funcionou bem. Mais precisamente, com algumas cores consegui quase exatamente, com outras não. Então entendi que precisava de alguma fórmula para misturar a cor cinza de cada linha da moldura com a cor do botão. Mas não consegui encontrar a fórmula rapidamente. Então, desisti.

O que o cinza tem a ver com isso?

Você precisa de uma cor contrastante ;)

Preciso que a aparência seja boa e bonita.

vermelho/verde

amarelo/azul

etc.

Está vendo a habilidade do artista?

Bem, não é bonito quando você já descobriu, é um padrão previsível.....

Para quem não sabe, é apenas normal.

 

Por enquanto, teremos que considerar as deficiências dos gráficos como um dado adquirido.

Vamos voltar ao assunto principal: linguagem de marcação e funcionalidade.

Obrigado a todos por suas opiniões.

Aquestão das cores e dos ícones está encerrada .

 



//------------------------------------------------------ 
//DECLARE A NEW WINDOW
//------------------------------------------------------ 
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/             W_TYPE, DIALOG,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/         W_NAME, "Sorry, this order is blocked.",
//------------------------------------------------------
/*SET WINDOW'S CAPTION*/        CAPTION, "Risk managment",
//------------------------------------------------------
/*NAME (CAPTION)IN THE MIDDLE*/ NIM,  
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/      W_ICON, "::Images\\16x16\\No.bmp",   
//------------------------------------------------------
/*ONLY CLOSING BUTTON*/         ONLY_CLOSING, 
//------------------------------------------------------
/*WINDOW ALWAYS ON TOP*/        ALWAYS_ON_TOP, 
//------------------------------------------------------
/*OPEN WINDOW WITH A SOUND*/    OPENING_SOUND,"::Sounds\\Windows Foreground.wav", 
//------------------------------------------------------ 
/*WINDOW OPENS AT START*/       OPEN_ON_INIT,  /*(OOI)*/
//------------------------------------------------------
/*LOCK WINDOWS IF OPENED*/      LOCKS_WINDOWS, ALL_WINDOWS,   
//------------------------------------------------------
/*MARGINS OF THE WINDOW*/       MARGINS, 12,17,/*Х, Y*/
//------------------------------------------------------
//----------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
GROUP, A,
//------------------------------------------------------
__, T_BOX,  "T1", TEXT,
//------------------------------------------------------
                  "Sorry, this order was closed.",
//------------------------------------------------------                 
                  END, 
//------------------------------------------------------                 
END_GROUP,
//--------------------------
i, AT, _X2X, "MF",   1, _Y2Y, "MF", 1,
//--------------------------
"T1",_A3_,0,
//--------------------------
"T1", W,406,
//--------------------------
"T1", H,38,
//--------------------------
"T1", text,_C1_,10,
//--------------------------
"T1", text,_C2_,10,
//--------------------------
"T1",FONT_SIZE,10,
//--------------------------
"T1",TEXT_STYLE,(int)FW_BOLD,
//--------------------------
"T1",text,N_COLOR,(int)clrRed,
//--------------------------
//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, T_BOX,  "T3",TEXT,
                 "*Automated risk managment system denied opening new order.", 
//----------------------------------------------------------------------------------                 
                 END,
GAP,10,
//----------------------------------------------------------------------------------                 
__, T_BOX,  "T4",TEXT,
                 "*Reason: According to the preset settings the risk is too",
                 "high for your deposit. You may have to consider reducing",
                 "lot or change risk managment settings.",
                 END,
//----------------------------------------------------------------------------------                 
END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 1, _Y2H, "T1", 5,
//--------------------------
"T3",TEXT_STYLE,(int)FONT_ITALIC,
//--------------------------
"T4",TEXT_STYLE,(int)FW_BOLD,
//--------------------------
"T3",text,_C1_,55,
//--------------------------
"T4",text,_C1_,55,
//--------------------------
"T3",N_COLOR,(int)C'240,240,240',
//--------------------------
"T4",N_COLOR,(int)C'240,240,240',
//--------------------------
"T3",H,20,
//--------------------------
"T4",H,55,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, LABEL,A,  _,N_LABEL,"::Images\\32x32\\No.bmp", _,N_COLOR,(int)clrWhite,
//----------------------------------------------------------------------------------
END_GROUP,
//------------------------------------
i, AT, _X2X, "T1", 350, _Y2Y, "T1", 3,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, LABEL,"EFEW", _,N_LABEL,"::Images\\32x32\\Error.bmp", 
//----------------------------------------------------------------------------------
END_GROUP,
//-----------------------------------
i, AT, _X2X, "MF", 10, _Y2H, "T1", 5,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, D_BUTTON, "OK",  CWIP, _,W,40, _,POINTED,0,
//----------------------------------------------------------------------------------
                   _,N_FRAME_COLOR, (int)C'51,153,255',
                   //--------------------------------------------------------------- 
                   _,N_COLOR,       (int)C'236,244,254',
//----------------------------------------------------------------------------------
END_GROUP,
//------------------------------------
i, AT, _W2W, "MF", -7, _Y2H, "T4", 10,
//----------------------------------------------------------------------------------
 
//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, H_LINE,"H1", W,400, _,NG_LINES,200, _,NG_STEP,3, _,H_GRADIENT, _,N_COLOR,(int)C'255,255,255',
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------
i, AT, _X2X, "MF", 1, _Y2H, "T4", 5,
//----------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, BOARD,"Open money managment settings", _,POINTED,1,
                                          //----------------------------------
                                          _,text, N_COLOR,(int)C'42,42,247',
                                          //----------------------------------
                                          _,text, P_COLOR,(int)clrRed, 
                                          //----------------------------------
                                          _,P_COLOR,(int)C'240,240,240',
                                          //----------------------------------
                                          _,text,NP_TEXT_STYLE,FONT_UNDERLINE,
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------
i, AT, _X2X, "H1", 5, _Y2H, "H1", 7,
//----------------------------------

//----------------------------------------------------------------------------------------------------
END_WINDOW,
 

Depois de entender a teoria das cores, você pode continuar, por exemplo, usar isso como um layout de teste e convertê-lo em algo avançado:

https:// www.mql5.com/ru/articles/1612

Изучаем класс CCanvas. Сглаживание и тени
Изучаем класс CCanvas. Сглаживание и тени
  • www.mql5.com
Алгоритм сглаживания класса CCanvas — основа всех построений, в которых используется сглаживание. В статье рассказано о том, как работает этот алгоритм, приведены примеры визуализации его работы. Кроме того, рассмотрено рисование теней графических объектов и разработан подробный алгоритм отрисовки тени на канвасе. Для расчетов применена библиотека численного анализа ALGLIB.
 


//------------------------------------------------------ 
//DECLARE A NEW WINDOW
//------------------------------------------------------ 
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/             W_TYPE, DIALOG,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/         W_NAME, "Allow changes",
//------------------------------------------------------
/*SET WINDOW'S CAPTION*/        CAPTION, "User permission",
//------------------------------------------------------
/*NAME (CAPTION)IN THE MIDDLE*/ NIM,  
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/      W_ICON, "::Images\\16x16\\Warning.bmp",   
//------------------------------------------------------
/*ONLY CLOSING BUTTON*/         ONLY_CLOSING, 
//------------------------------------------------------
/*WINDOW ALWAYS ON TOP*/        ALWAYS_ON_TOP, 
//------------------------------------------------------
/*OPEN WINDOW WITH A SOUND*/    OPENING_SOUND,"::Sounds\\Windows Notify System Generic.wav", 
//------------------------------------------------------ 
/*WINDOW OPENS AT START*/       OPEN_ON_INIT,  /*(OOI)*/
//------------------------------------------------------
/*LOCK WINDOWS IF OPENED*/      //LOCKS_WINDOWS, ALL_WINDOWS,   
//------------------------------------------------------
/*MARGINS OF THE WINDOW*/       MARGINS, 11,15,/*Х, Y*/
//------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, T_BOX,  "T1",TEXT,
                 //----------------------------------------------
                 "An expert needs your permission to continue.",
                 "Do You allow to make changes to the strategy?", 
                 //----------------------------------------------
                 END,
//----------------------------------------------------------------------------------                 
__, T_BOX,  "T2",TEXT,
                 //----------------------------------------------
                 "Strategy name:", 
                 "Expert's name:",
                 //----------------------------------------------
                 END,
//----------------------------------------------------------------------------------                 
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF",   1, _Y2Y, "MF", 1,
//----------------------------------------------
"T1",_A3_,0,
//--------------
"T1",W,350,
//--------------
"T1",H,42,
//--------------
"T1",text,_C1_,55,
//--------------
"T1",text,_C2_,4,
//--------------
"T1",text,N_COLOR,(int)clrWhite,
//--------------
"T1",FONT_SIZE,10,
//--------------
"T1",NG_LINES,75,
//-------------- 
"T1",NG_STEP,1,
//--------------
"T1",H_GRADIENT,
//--------------
"T1",N_COLOR,(int)C'10,65,106',
//--------------
"T2",_A3_,0,
//--------------
"T2",W,350,
//--------------
"T2",H,42,
//--------------
"T2",text,_C1_,85,
//--------------
"T2",text,_C2_,7,
//--------------
//---------------------------------------------------------------------------------- 

//---------------------------------------------------------------------------------- 
GROUP, A,
//---------------------------------------------------------------------------------- 
__, T_BOX,  "T3",TEXT,
                 //----------------------------------------------
                 "'My best strategy'", 
                 //----------------------------------------------
                 END,
 GAP,20, 
//----------------------------------------------------------------------------------                  
__, T_BOX,  "T4",TEXT,
                 //----------------------------------------------
                 "Market explorer",
                 //----------------------------------------------
                 END,
//----------------------------------------------------------------------------------                  
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 210, _Y2Y, "T2", 5,
//----------------------------------------------
"T3",TEXT_STYLE,(int)FONT_ITALIC,
//----------------------------------------------
"T4",TEXT_STYLE,(int)FW_BOLD,
//----------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, LABEL,A, ADAPT_2_GRADIENT,"T1", _,N_LABEL,"::Images\\32x32\\Index.bmp", 
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "T1", 5,
//----------------------------------------------

//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, LABEL, A, N_COLOR,(int)clrWhite, _,N_LABEL, "::Images\\32x32\\Attach.bmp",  
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 30, _Y2Y, "T2", 5,
//----------------------------------------------------------------------------------


//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__,CHECKBOX, "More details", A_TEXT,"Less details", 
//----------------------------------------------
   GAP,107, 
//----------------------------------------------  
   D_BUTTON, "Yes", CWIP, _,N_FRAME_COLOR, (int)C'51,153,255', 
//----------------------------------------------  
   GAP,7, 
//----------------------------------------------   
   D_BUTTON, "No", CWIP, 
//----------------------------------------------   
   BREAK_ROW_LINE,
//----------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 10, _Y2H, "T2", 20,
//----------------------------------------------
 
//----------------------------------------------------------------------------------
GROUP, A,

__, T_BOX,  "T5",TEXT,
                 //----------------------------------------------
                 "Current strategy based on 3 signals from indicators:", 
                 "Moving average, Parabolic SAR and RCI.",
                 //----------------------------------------------
                 END,
                
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF",   4, _Y2H, "More details", 7,
//----------------------------------------------
"T5",_A3_,0,
//--------------
"T5", W,342,
//--------------
"T5", H,62,
//--------------
"T5",text,_C1_,10,
//--------------
"T5",text,_C2_,4,
//--------------
"T5",N_FRAME,1,
//--------------
"T5", TEXT_FONT, "Times New Roman",
//--------------
"T5", FONT_SIZE, 12,
//--------------
"T5", text, N_COLOR, (uint)clrRed,
//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, H_LINE,"H1", W,344,
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 4, _Y2H, "T5", 5,
//----------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, BOARD,"Set up appearance of these messages", 
//----------------------------------------------------------------------------------          
                      _,POINTED,1,
                      //----------------------------------------------
                      _,FONT_SIZE,8,
                      //----------------------------------------------
                      _,text, N_COLOR,(int)C'42,42,247',
                      //----------------------------------------------
                      _,text,NP_TEXT_STYLE,FONT_UNDERLINE,
                      //----------------------------------------------
                      _,text, P_COLOR,(int)clrRed,
                      //----------------------------------------------
                      _,P_COLOR,(int)C'240,240,240',  
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _W2W, "H1", -3, _Y2H, "H1", 7,
//----------------------------------------------

//----------------------------------------------------------------------------------------------------
END_WINDOW,
 
Como os usuários adicionam as imagens que estão procurando e as utilizam na criação do guia? Esta é uma pergunta.