Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

drawString неверно отрисовывает строку с пробелами

28K
05 мая 2007 года
snoozamoorooed
4 / / 05.05.2007
Привет всем, я тут работаю с печатью из форм и обнаружил странную вещь, которая вылазит при печати текста методом drawString. А именно, если в строке присутствует приличное количество пробелов (штук 30), то результат может заметно отличаться от того, что видно на форме.
Например если ввести в TextBox или RichTextBox строчки

 
Код:
blabla                         end
blabla blabla blabla blabla blabla

Результат после печати получается (для Arial, размер 10):

 
Код:
blabla                     end
blabla blabla blabla blabla blabla



Если использовать Microsoft Sans Serif, тоже с 10 размером получается пирмерно вот что
 
Код:
blabla                              end
blabla blabla blabla blabla blabla



Такой эффект наблюдается и при выводе на реальный принтер и при отрисовке на каком-нибудь компоненте Windows.Forms
Кто-нибудь знает как решить эту проблему?
5
05 мая 2007 года
hardcase
4.5K / / 09.08.2005
Проверь, какой ты шрифт скармливаешь DrawString'у.
Думаю, дело в этом.
28K
06 мая 2007 года
snoozamoorooed
4 / / 05.05.2007
Дело в том, что я передаю drawString тот шрифт, что установлен в TextBox, простейший пример такой:
Graphics g = panel1.CreateGraphics();
g.DrawString(textBox1.Text, textBox1.Font, Brushes.Black, 0, 0);

впрочем пробовал ручками создавать и - то же самое

Graphics g = panel1.CreateGraphics();
Font font = new Font("Arial", 10, FontStyle.Regular);
g.DrawString(textBox1.Text, font, Brushes.Black, 0, 0);
28K
06 мая 2007 года
snoozamoorooed
4 / / 05.05.2007
Только что выяснил ... это происходит с размерами шрифта меньше 11 ..
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог