![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BUG: некорректный вывод строки, содержащей слэши, через GDI+
_none_ © (2004-01-15 17:18:00)_Graphics.DrawString(s, Length(s), _Font, MakeRect(0.0, 0, Width, Height), _Format, _Brush);
символы левее или правее группы слэшей (или бэк-слэшей) некрасиво смещаются в зависимости от кол-ва слешей.
пример:
t e s t \
t e s t \\\
test\\\\\\
-----------------------------
при большом кол-ве слэшей символы вообще наезжают друг на друга
_none_ (2004-01-16 01:20:00) [1]to [MBo] спасибо.
я уже все попробовал, но мне не подходят...
без GridFit и антиальясинга только один, но у него слишком сильные зазабрины...
ответ: почему я выбрал gdi+ - альтернатив, к сожалению, не знаю...да и стандарт, в принципе
MBo (2004-01-15 18:43:00) [2]без антиалиасинга (т.е. с зазубринами) или все же с ним?
typedef enum {
TextRenderingHintSystemDefault = 0,
TextRenderingHintSingleBitPerPixelGridFit = 1,
TextRenderingHintSingleBitPerPixel = 2,
TextRenderingHintAntiAliasGridFit = 3,
TextRenderingHintAntiAlias = 4,
TextRenderingHintClearTypeGridFit = 5
} TextRenderingHint;
_none_ (2004-01-15 18:37:00) [3]теперь возникает еще задача: как осуществить вывод без анти-алиасинга?
_none_ (2004-01-15 18:09:00) [4]ответ от MBo:
_Graphics.SetTextRenderingHint(TextRenderingHintAntiAlias);
или
_Graphics.SetTextRenderingHint(TextRenderingHintSingleBitPerPixel);
_none_ (2004-01-15 17:57:00) [5]...и с двойными кавычками
_none_ (2004-01-15 17:39:00) [6]из обнаруженных мною символов, растяжка возникает с '/' и '\'
MBo (2004-01-15 17:38:00) [7]Именно со слэшами такое, или с другими символами тоже (растяжка межсимвольных интервалов, насколько я понял из "рисунка")
_none_ (2004-01-15 17:36:00) [8]баг наиболее ярко проявляется со шрифтом по умолчанию "MS Sans Serif"
_none_ (2004-01-15 17:24:00) [9]ps. с моноширинными шрифтами все нормально