Notes |
|
(0005466)
|
zed
|
14-02-2012 16:44
|
|
>Надо сделать их контурными
Может кто предложит способ реализации? А то есть у меня мысль, как это можно сделать, только боюсь как бы меня опять не опубликовали http://sasgis.org/forum/viewtopic.php?f=47&t=1866 |
|
|
(0005467)
|
Tolik
|
14-02-2012 17:51
|
|
Не надо бояться :)
Ну опубликуют, делов-то :)
Ещё можно прямо тут обсудить свою мысль.
Я точно где-то уже видел обсуждение этих теней и контуров, потому и написал "если это возможно". Не здесь? |
|
|
(0005468)
|
Tolik
|
14-02-2012 17:52
|
|
Как вам такая идея?
http://www.fontcenter.com/categories/Hollow_and_Outlined/index.html |
|
|
(0005470)
|
zed
|
14-02-2012 19:10
|
|
Использовать левый шрифт не получится, поскольку все они скорее всего содержат только латинские символы.
Моя мысль в том, чтобы рисовать текст на временную битмапку, затем сканировать её попиксельно и устанавливать чёрный цвет пикселям, соседствующим с белыми пикселями (или каким мы там цветом будем рисовать текст). И в конце концов, выводить эту битмапку, с оконтуренным текстом, на основную канву. |
|
|
|
Ну можно попробовать. Нужно 2 битмапки. На первой рендерим текст. Копируем на вторую с использованием морфологического расширения, который уже в GR32 реализован в классе TDilater. На первой меняем цвет и накладываем на вторую. Получаем красоту неописуемую.
Но вот сколько на это будет уходить времени это вопрос. |
|
|
(0005478)
|
Tolik
|
15-02-2012 04:36
(edited on: 15-02-2012 05:33) |
|
Латинские символы - не проблема. km можно и не переводить. А вот я подумал, что hollow font всё равно не решит проблему: внутри-то он не белый, а прозрачный! Двухцветных фонтов вроде не бывает?
Вот ещё идея, тупо, зато просто. Нарисовать графическим редактором нужные цифры и буквы, засунуть в один файл bmp и выводить нужные куски. Надо-то всего 10 цифр и с десяток букв (да и весь алфавит легко сделать), все в одном размере.
Вот, например, 0-9.bmp. Ширина цифр одинаковая, что упростит расчёты.
|
|
|
(0005488)
|
zed
|
15-02-2012 08:05
|
|
|
|
(0005499)
|
zed
|
15-02-2012 16:52
|
|
Я вот думаю, а может и для статусной строки тоже сделать оконтуривание текста по типу линейки? |
|
|
(0005501)
|
Tolik
|
15-02-2012 17:09
|
|
Для статусной - не знаю, она и сейчас неплохо выглядит. И контурные, наверно, больше места занимают?
А для "шкалы", как я уже писал, надо сделать так же, как и для линейки.
Ну, сначала посмотрим, как выглядят новые цифры. |
|
|
|
Нужно статусную строку разбивать на несколько частей и кэшировать каждую из них. А потом можно и оконтуривание сделать. |
|
|
(0005504)
|
zed
|
15-02-2012 17:19
|
|
>И контурные, наверно, больше места занимают?
+1 пиксель по контуру текста, т.е. на пару пикселей её придётся приподнять. |
|
|
(0005512)
|
Tolik
|
16-02-2012 04:19
|
|
Новые цифры нравятся!
Контур, как я понял, серый, может сделать чуть темнее?
Сделаете такие же для Gauge? Некрасиво, когда на экране куча разных шрифтов.
А в строке статуса контурные делать не стоит, имхо длинный текст будет нечитабельным. |
|
|
(0005519)
|
zed
|
16-02-2012 07:11
|
|
Вынесу настройки в ini, тогда можно будет подобрать оптимальный вариант. |
|
|
(0005535)
|
Tolik
|
17-02-2012 04:52
|
|
Теперь всё хорошо.
Сделал
[ScaleLine]
OutLineColorHex=$AA000000
Контур получился темнее (по умолчанию $5A000000 - слишком светлый).
Мне кажется, лучше сделать по умолчанию АА. |
|