Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Определение DPI (dots-per-inch)


Автор: redrick 15.3.2006, 21:39
возможно ли ?
делал ли кто нибудь ?
куда копать ?

пока гуглю потихоньку

Автор: javastic 17.3.2006, 11:07
А просто графическое разрешение не покатит?
Зачем такие тонкости? (ради интереса)

Автор: redrick 17.3.2006, 14:00
в том то и дело - на экран выводится текст и нужно чтобы буковки были удобчитаемы, для этого, ессно они должны быть физически(т.е. в мм) не очень маленькие. А экраны бывают разного размера - на одном помещается больше буковок, на другом - меньше. Поэтому формула (ширина буквы)=(ширина экрана)/(кол-во буковок) не катит

Автор: javastic 20.3.2006, 10:27
Вроде в midp 2.0 определение размера текущего шрифта встроена, кажется я такое видел, посмотри.

Автор: redrick 20.3.2006, 13:30
спасибо, однако во-первых рисую я буковки не системными фонтами, а во-вторых видимо эти методы все-таки в пикселях возвращают размер
Код

getHeight

public int getHeight()

    Gets the standard height of a line of text in this font. This value includes sufficient spacing to ensure that lines of text painted this distance from anchor point to anchor point are spaced as intended by the font designer and the device. This extra space (leading) occurs below the text.

    Returns:
        standard height of a line of text in this font (a non-negative value)

Автор: Nemesis 20.3.2006, 22:27
Что-то слабо мне верится в то, что возможно вытащить из системы размер пикселя...

Автор: redrick 20.3.2006, 22:33
Nemesis, ну на нет и суда нет - но вобще хателось бы
странно однако - для текста это ведь в любом случае критично

Автор: LSD 20.3.2006, 23:01
В "большой" Java это можно узнать так:
Код
Toolkit.getDefaultToolkit().getScreenResolution()

Автор: Nemesis 20.3.2006, 23:23
redrick, согласен с Вами... возникает сложность при разработке проги для чтения скажем на 128х128 Nokia6230 и 208х208 для Nokia6230i, у них размеры одинаковые, а вот разрешение разное.. и фиг сдлеаешь ведь smile

А системный шрифт никак не подходит?
Добавлено @ 23:24
А кстати! А что если вам создать системный шрифт и посмотреть его высоту в писелях, там как раз будет приемлемый размер, а потом на основе значения высоты букв делать свои изображения, конечно, придется масштабировать изображения, но во всяком случае как метод помоему сойдет...

Автор: javastic 21.3.2006, 10:41
И ещё. Можно узнать разрешение экрана по горизонтали, это будет кол-во точек, например 128. Затем зная какой ширины (+ кол-во пикселей на отступ между символами) мы хотим сделать символ, производим деление (ширина экрана на ширину символа+отступ), мы получим кол-во символов которые можно вместить по горизонтали. Тоже самое проделать с высотой символа. Получаем: кол-во пикселей по ширине экрана 128, ширина символа 5 пикселей + 2 пикселя на отступ, получаем 7 пикселей, делим 128 на 7 получаем 18.28, из этого делаем вывод что на экран по горизонтали можно "вписать" 18 нашинских символов.

Только я считаю это всё гимор т.к. лучше пользоваться стандартными шрифтами и их размерами.

Автор: redrick 23.3.2006, 14:36
вобщем зарезюмирую результат данного ресерча.

По нашему мнению, DPI прямыми методами измерить нельзя.
Можно косвенно, наиболее разумный метод пожалуй вот:
Цитата(Nemesis @ 20.3.2006, 23:23 Найти цитируемый пост)
А кстати! А что если вам создать системный шрифт и посмотреть его высоту в писелях, там как раз будет приемлемый размер, а потом на основе значения высоты букв делать свои изображения, конечно, придется масштабировать изображения, но во всяком случае как метод помоему сойдет...


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)