Прозрачный текст - страница 3

 
Renat Akhtyamov #:

ну и осталось только написать черным, чтобы окончательно убедиться в том, что прозрачность не нужна

С любым цветом, если он прозрачен - будет виден график

 
Renat Akhtyamov #:

ну и осталось только написать черным, чтобы окончательно убедиться в том, что прозрачность не нужна

Цвета и прозрачности рандомные. Не подбирал. Только для демо.
Я лично редко использую прозрачный текст, но ситуации бывают, когда прозрачность текста может пригодится.
 
Vitaly Muzichenko #:

С любым цветом, если он прозрачен - будет виден график

В стандартной палитре нет прозрачных цветов.

Знаю как сделать светлее, а прозрачнее нет.

// Значения 0 - 1 
// Чем больше, тем светлее заливка
extern double LiteColor = 0.5;  

//+------------------------------------------------------------------+
//| Осветление Заливки                                               |
//+------------------------------------------------------------------+
color ModColor(double clr)
{
   double k=0.9;
   uchar  alfa=0x80;
   string strClr=ColorToString(clr);
   string strRed,strGreen,strBlue;
   string strRed2,strGreen2,strBlue2;
   int    pos,cRed,cGreen,cBlue;
   color  val;
   
   if(LiteColor<0 || LiteColor>1) k=0.9; else k=LiteColor;
   
   pos      = StringFind  (strClr,",",0);
   strRed   = StringSubstr(strClr,0,pos);
   strClr   = StringSubstr(strClr,pos+1);
   pos      = StringFind  (strClr,",",0);
   strGreen = StringSubstr(strClr,0,pos);
   strClr   = StringSubstr(strClr,pos+1);
   strBlue  = strClr;
   cRed     = StrToInteger(strRed);
   cGreen   = StrToInteger(strGreen);
   cBlue    = StrToInteger(strBlue);  
   
   cRed   = cRed   + (255-cRed)  *k;
   cGreen = cGreen + (255-cGreen)*k;
   cBlue  = cBlue  + (255-cBlue) *k;
   
   strRed2   = IntegerToString(cRed);
   strGreen2 = IntegerToString(cGreen);
   strBlue2  = IntegerToString(cBlue);
   
   val = StringToColor(strRed2 + "," + strGreen2 + "," + strBlue2);
return(val);}
 
forex2030 #:

В стандартной палитре нет прозрачных цветов.

Знаю как сделать светлее, а прозрачнее нет.

Цвет- это 4 байта. ARGB.
A это альфа канал, отвечающий за прозрачность. 
0 - абсолютно прозрачный, 
255 абсолютно непрозрачный.
Альфа канал не всегда учитывается. 
В объектах он не учитывается, в Canvas может учитываться, а может не учитываться. 
Необходим для этого режим COLOR_FORMAT_ARGB_NORMALIZE
 
Nikolai Semko #:
в Canvas может учитываться, а может не учитываться. 
Необходим для этого режим COLOR_FORMAT_ARGB_NORMALIZE

Это я уже понял
Но не знаю как мне вызвать тестовое оформление
Есть только какой-то стиль рисования

if(!C.CreateBitmapLabel(0,0,"Canvas",100,100,600,400,COLOR_FORMAT_ARGB_NORMALIZE))
 
forex2030 #:

Это я уже понял
Но не знаю как мне вызвать тестовое оформление
Есть только какой-то стиль рисованэтой в

У этой ветке есть достаточно всего, чтобы начать добывать знания в этой области.
Как говорит Мао Цзедун - "чтобы плавать, надо плавать.
 
forex2030 #:

Пробовал так, получается на заднем плане, но прозрачности нет.

Привет,

попробуйте это:

void ObjectText(string txt, int size, int corn, int xd, int yd)
{
         string name="Текст";
      ObjectCreate(name,OBJ_LABEL, 0, 0, 0);
      ObjectSet(name,OBJPROP_CORNER, corn);
      ObjectSet(name,OBJPROP_XDISTANCE,xd);
      ObjectSet(name,OBJPROP_YDISTANCE,yd);
      ObjectSet(name,OBJPROP_BACK,true);
      ObjectSetText(name,txt,size,"Arial",clrNONE);

     ObjectSetInteger(name,OBJPROP_COLOR,clrRed);
     ObjectSetInteger(name,OBJPROP_FILL,clrRed);

ChartRedraw(0);}