Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Режим крупных шрифтов 
:(
    Опции темы
Ophelia
Дата 28.4.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 11.3.2008

Репутация: нет
Всего: нет



 Добрый день всем.
 Пишу приложение на C#, VS2005 (ОС - Windows 2000). У меня есть некоторая канва, на ней рисую блоки-прямоугольники с текстом. 
 В режиме больших шрифтов dpi 120 (и больше) шрифт увеличивается, и буквы вылезают за пределы блоков, так как режим шрифтов на размеры блоков не влияет. Юниты канвы - Display.
 Как это обойти - растянуть блоки, не затрагивая шрифтов?..
 Масштабирование канвы не подходит, так как в этом случае всё растягивается - и шрифт тоже.
Может, кто знает, можно как-нидь указать для канвы особый размер юнитов?...
 Спасибо.
PM MAIL   Вверх
Andrey44
Дата 29.4.2009, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: нет
Всего: 26



Ophelia, по-моему вам в раздел С# smile 


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
-Mikle-
Дата 29.4.2009, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



Не въехал. Тебе что нужно? Чтоб при изменении dpi шрифт оставался прежним, а блоки увеличивались? Или чтоб увеличивались оба и шрифт и блоки?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Ophelia
Дата 29.4.2009, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 11.3.2008

Репутация: нет
Всего: нет



Andrey44, так это и не я переместила тему в раздел С/С++, это модератор форума по общим вопросам по ОС Windows, куда я в начале и поместила тему. Может, у него своя логика.... 

-Mikle-, шрифт сам увеличивается, мне надо увеличить только всё остальное - блоки и прочее.. Чтоб при новых, больших шрифтах, текст не вылезал за пределы блоков....
PM MAIL   Вверх
-Mikle-
Дата 29.4.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



Попробуй рисовать другими единицами, например миллиметрами.
            g.PageUnit = GraphicsUnit.Millimeter;



--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Ophelia
Дата 29.4.2009, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 11.3.2008

Репутация: нет
Всего: нет



...пасиба, пробовала, но эт тоже не фонтан - лучше всего получалось рисовать в точках, но тогда блоки получаются слишком крупными... и скроллирование неправильно работает - надо смотреть, в чем там дело...
Может, можно как-нидь для канвы установить свой размер точек?...
PM MAIL   Вверх
PashaPash
Дата 29.4.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Ophelia, попробуй замерить размер символов через Graphics.MeasureCharacterRanges/MeasureString, и привязать размеры блоков к нему.


--------------------
PM MAIL WWW   Вверх
Ophelia
Дата 29.4.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 11.3.2008

Репутация: нет
Всего: нет



..пасиба, но это, к сожалению, тоже не решение - пользователь сам выставляет размеры блоков, как ему нужно... Кроме того, размеры зависят еще от некоторых условий.... :(

То есть, можно менять размеры блоков и всего остального, но только пропорционально для всех, как при масштабировании, а не для каждого блока в отдельности... 

Можно, конечно, посмотреть, что в Графиксе для канвы dpiX и dpiY не 96, и умножать все размеры на коэффициент (например, на (dpiX /96)), но это тоже не очень красивое решение.... Все блоки и другие объекты - разные, надо будет в каждый в Paint() это всё пихать....

Думала, если для канвы юниты - Display, а для шрифта - точки, можно как-нидь для канвы указать отдельно размер точек, так, чтоб всё то, что не в point, автоматически растянулось....

Вообще, можно ли для канвы указать свой размер юнитов?....
PM MAIL   Вверх
-Mikle-
Дата 29.4.2009, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



Цитата(Ophelia @  29.4.2009,  17:27 Найти цитируемый пост)
Вообще, можно ли для канвы указать свой размер юнитов?

можно
Graphics.PageScale = 0.1F;


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.