Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 06.02.2013, 22:27   #1
9ik
Оператор ЭВМ
 
Регистрация: 19.10.2010
Сообщений: 22
Написано одно полезное сообщение
Разная высота строк

Почему на разных телефонах разная высота строк? Чтобы мне нарисовать какой-то текст посередине по вертикали, то нужно знать высоту каждой строки и отступы между ними, но почему-то на разных устройствах высота разная. Как с этим бороться?
(Offline)
 
Ответить с цитированием
Старый 07.02.2013, 23:10   #2
Maga05
Оператор ЭВМ
 
Регистрация: 17.12.2011
Сообщений: 26
Написано 4 полезных сообщений
(для 5 пользователей)
Ответ: Разная высота строк

Для того чтобы получить высоту строки используй GetStringHeight('Текст'), для ширины GetStringWidth('Текст').
Рисует строку в центре экрана:
DrawText('Текст', (GetWidth-GetStringWidth('Текст'))/2, (GetHeight-GetStringHeight('Текст'))/2);
(Offline)
 
Ответить с цитированием
Старый 08.02.2013, 17:36   #3
9ik
Оператор ЭВМ
 
Регистрация: 19.10.2010
Сообщений: 22
Написано одно полезное сообщение
Ответ: Разная высота строк

Сообщение от Maga05 Посмотреть сообщение
Для того чтобы получить высоту строки используй GetStringHeight('Текст'), для ширины GetStringWidth('Текст').
Рисует строку в центре экрана:
DrawText('Текст', (GetWidth-GetStringWidth('Текст'))/2, (GetHeight-GetStringHeight('Текст'))/2);
Я так и делаю, но проблема в том, что на разных телефонах значение, полученное с помощью GetStringHeight, тоже разное
(Offline)
 
Ответить с цитированием
Старый 09.02.2013, 18:25   #4
Maga05
Оператор ЭВМ
 
Регистрация: 17.12.2011
Сообщений: 26
Написано 4 полезных сообщений
(для 5 пользователей)
Ответ: Разная высота строк

А чего ты хотел. Если нужен один размер, используй графический шрифт (Lib_font32).
(Offline)
 
Ответить с цитированием
Старый 09.02.2013, 21:06   #5
nil0q
ПроЭктировщик
 
Аватар для nil0q
 
Регистрация: 30.06.2009
Адрес: Челябинская обл.
Сообщений: 111
Написано 32 полезных сообщений
(для 99 пользователей)
Ответ: Разная высота строк

Сообщение от 9ik Посмотреть сообщение
Я так и делаю, но проблема в том, что на разных телефонах значение, полученное с помощью GetStringHeight, тоже разное
Конечно, диагональ и dpi у всех телефонов разные, и системные шрифты соответственно тоже. Если дизайн приложения не особо критичен, лучше использовать системные шрифты, коих на многих телефонах доступно целых три размера. Игры с самодельными шрифтами лучше, имхо, изначально адаптировать под определённую модель/разрешение экрана (а ещё лучше сделать несколько версий под разные экраны). Для примера можно сравнить, как будет смотреться шрифт Arial 8 pt на экранах 128*160 у SE/Samsung/... или 360*640 у смартов Nokia.
__________________
Аинéжарбази овокáсьф имятнэ́меле как, имякщтóт и имяини́ль оклёт ими́ньдо сяюзлёп, ильсы́м эынэвьтспóс ышáн мóнян тягалзи, эы́жущт тят-ищт сант-ищтý анакаккáт; áкызэй овóваримь авотэ́ як итя́ммарг тыжýлс аирьтэмяег аянлетя́трэщтанот, мадóраи мынавóзарбо мэ́сьф мынтáняп авокáныдя, икиньхэ́ть мóкызэй астэя́львэй шóтрэщт ильсэ́й.
Щамóпф раткáдэрь оидюá!
(Offline)
 
Ответить с цитированием
Старый 10.02.2013, 13:43   #6
9ik
Оператор ЭВМ
 
Регистрация: 19.10.2010
Сообщений: 22
Написано одно полезное сообщение
Ответ: Разная высота строк

Сообщение от Maga05 Посмотреть сообщение
Для того чтобы получить высоту строки используй GetStringHeight('Текст'), для ширины GetStringWidth('Текст').
Рисует строку в центре экрана:
DrawText('Текст', (GetWidth-GetStringWidth('Текст'))/2, (GetHeight-GetStringHeight('Текст'))/2);
Сообщение от nil0q Посмотреть сообщение
Конечно, диагональ и dpi у всех телефонов разные, и системные шрифты соответственно тоже. Если дизайн приложения не особо критичен, лучше использовать системные шрифты, коих на многих телефонах доступно целых три размера. Игры с самодельными шрифтами лучше, имхо, изначально адаптировать под определённую модель/разрешение экрана (а ещё лучше сделать несколько версий под разные экраны). Для примера можно сравнить, как будет смотреться шрифт Arial 8 pt на экранах 128*160 у SE/Samsung/... или 360*640 у смартов Nokia.
еще бы хотел узнать, как можно протестировать свое приложение на определенной модели телефона, например приложения Яндекса или Оперы есть под каждый телефон, но они же не покупали и не закачивали на каждую модель
(Offline)
 
Ответить с цитированием
Старый 10.02.2013, 15:19   #7
Maga05
Оператор ЭВМ
 
Регистрация: 17.12.2011
Сообщений: 26
Написано 4 полезных сообщений
(для 5 пользователей)
Ответ: Разная высота строк

используй kemulator
(Offline)
 
Ответить с цитированием
Старый 10.02.2013, 16:10   #8
Amigo888
Нуждающийся
 
Регистрация: 05.08.2011
Сообщений: 85
Написано 16 полезных сообщений
(для 16 пользователей)
Ответ: Разная высота строк

есть эмуляторы различных телефонов. Например SDK Nokia S40 5ed или для других телефонов
(Offline)
 
Ответить с цитированием
Старый 10.02.2013, 17:59   #9
9ik
Оператор ЭВМ
 
Регистрация: 19.10.2010
Сообщений: 22
Написано одно полезное сообщение
Ответ: Разная высота строк

Сообщение от Maga05 Посмотреть сообщение
используй kemulator
а разве там возможно выбирать различные разрешения?
(Offline)
 
Ответить с цитированием
Старый 10.02.2013, 18:42   #10
9ik
Оператор ЭВМ
 
Регистрация: 19.10.2010
Сообщений: 22
Написано одно полезное сообщение
Ответ: Разная высота строк

Сообщение от Amigo888 Посмотреть сообщение
есть эмуляторы различных телефонов. Например SDK Nokia S40 5ed или для других телефонов
можно, только вот LG не выпускает для своих телефонов эмуляторов
(Offline)
 
Ответить с цитированием
Старый 10.02.2013, 19:30   #11
AVL
Разработчик
 
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений
(для 182 пользователей)
Ответ: Разная высота строк

Сообщение от 9ik Посмотреть сообщение
а разве там возможно выбирать различные разрешения?
В KEmulator можно даже системные шрифты выбирать и раскладку кодов клавиатуры.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 03:07.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com