Как выглядят шрифты на канвасе - страница 2

 
Vladimir Karputov:

Test fonts and flags.mq5

version   "1.002"

Теперь можно

  • вводить свой текст
  • выбирать размер шрифта (обратите внимание - по умолчанию стоит "-100", справка: TextSetFont)
  • задавать цвет шрифта
  • задавать прозрачность шрифта


Да на мт5 в промежутке 8-9 шрифты выглядят не очень. А меньше 8 уже читать нельзя. 
 
Vladislav Andruschenko:
Да на мт5 в промежутке 8-9 шрифты выглядят не очень. А меньше 8 уже читать нельзя. 

А Вы введите не "8", а "-80":


 
Vladimir Karputov:

А Вы введите не "8", а "-80":


не хотите в проект добавить? И пригласить нас для совместной разработки ?

 
Vladimir Pastushak:

не хотите в проект добавить? И пригласить нас для совместной разработки ?

Не знаю - я разочаровался в этих новых проектах: потерял часть данных с одной из статей. "Новые проекты" и "совместный доступ" - понятия несовместимые. Для меня эталон (который пока не достижим для Хранилища и "Новых проектов") - это режим совместной работы в Word 2016 - всегда видно, кто и что пишет.

А может я не разобрался в этих "Новых проектах" - но однозначно: я всегда ратую за MQL5, но вот за "Новые проекты" я не собираюсь агитировать.

 
Vladimir Karputov:

Не знаю - я разочаровался в этих новых проектах: потерял часть данных с одной из статей. "Новые проекты" и "совместный доступ" - понятия несовместимые. Для меня эталон (который пока не достижим для Хранилища и "Новых проектов") - это режим совместной работы в Word 2016 - всегда видно, кто и что пишет.

А может я не разобрался в этих "Новых проектах" - но однозначно: я всегда ратую за MQL5, но вот за "Новые проекты" я не собираюсь агитировать.

Предлагаю вместе разобраться с проектами ?

Я в них полный ноль, и мне и Вам будет полезно а так же выкатим разработчикам проблемы...

 

Черный ящик...Задачка для тех, кто в теме...

В моих руках оказался код и исполняемый файл.

Но код без класса, и автор не открывает свой класс CText.

Этот класс и есть черный ящик.

Дело в том что размер шрифта устанавливается типом int что в объектах, что в канвасе, но в данном случае мы имеем дело с размером шрифта  double.

У кого-нибудь есть мысли по этому поводу?

Как это возможно?


#property script_show_inputs 
#include <CText\CText.mqh>

input string Text="Пробный текст";           // Текст
input string Font_Name="Times New Roman";    // Шрифт
input color  FontColor=clrDarkOrchid;        // Цвет 
input double SizeFont=152.52;                // Начальный размер шрифта

void OnStart()
  {
   CText TEXT(Text,Font_Name,100,150,SizeFont,FontColor);

   CCanvas CANV;
   CANV.FontSet(Font_Name,(int)SizeFont,FW_NORMAL);
   if(!CANV.CreateBitmapLabel(0,0,"CanvasText",100,300,1300,200,COLOR_FORMAT_ARGB_NORMALIZE)) Print("Error creating canvas: ",GetLastError());
   for(double s=SizeFont;s>0;s-=0.1)
     {
      TEXT.NewSize(s);
      CANV.FontSizeSet((int)s);
      CANV.Erase(0);
      CANV.TextOut(0,50,Text,ColorToARGB(FontColor));
      CANV.FontSizeSet(40);
      CANV.TextOut(0,0,"Размер шрифта = "+DoubleToString(s,3),ColorToARGB(clrBlue));
      CANV.Update();
      Sleep(30);
      if(IsStopped()) break;
     }
   CANV.Destroy();
  }

Проверьте сами. Ex5 файл прилагаю.

Внизу класс вывод текста в классе CCanvas происходит ступенчато с плавным уменьшением размера шрифта, т.к. размер шрифта не может быть дробным.
Вверху класс CText делает это плавно, т.к. рисует шрифт с размером  типа double. 

Файлы:
EasyText.ex5  27 kb
 
Nikolai Semko:

Черный ящик...Задачка для тех, кто в теме...

Как это возможно?

У меня только одна мысль: Сжатие растрового изображения. Скорей всего так и есть.
 
Nikolai Semko:
Только одна мысль: Сжатие растрового изображения.

А разве размер не задаётся отрицательным и на порядок больше?

 
Artyom Trishkin:

А разве размер не задаётся отрицательным и на порядок больше?

Проверил.
Нет, шрифт с размером (-212) нарисует шрифт размером 21. 

Дробного размера не формируется.

 
ну вот это и используется