2010-04-30 2 views
0

Простой вопрос - как выполняется масштабирование текста на устройстве Android/iPhone? Они заранее вычисляют часто используемые растровые изображения шрифта и заменяют текст по мере изменения масштаба? Или они извлекают контуры из файлов шрифтов и отображают текст в виде векторной графики?Как устройство Android/iPhone реализует масштабирование текста?

ответ

1

Редактирование текста - довольно сложная тема, поэтому любой ответ здесь просто замалчивает много чего. Типовые шрифты обычно хранятся в векторном формате, а не в растровых изображениях. Система выдает текст, вычисляя метрики каждой буквы и создавая векторную форму, которая отображается в растровое изображение, которое отображается на экране. Маловероятно, что система будет кэшировать отдельные буквенные формы в виде растровых изображений из-за того, как работает сглаживание и подпиксельное рендеринг. Но в какой-то момент все векторные графики преобразуются в растровые изображения, потому что типичный компьютерный дисплей состоит из пикселей.

+0

Итак, я знал, что большинство из них - я, вероятно, должен был быть более подробным в моем вопросе. В прошлый раз, когда я проверял, пока вы увеличиваете масштаб изображения на iPhone, текст стирается, пока вы не прекратите масштабирование. Я предполагаю, что происходит то, что исходное растровое изображение масштабируется до тех пор, пока масштабирование не будет остановлено, и в этот момент вычисляется новое растровое изображение соответствующего размера. В Android 2.0 он работает в режиме реального времени. Без размытия. Это то, что я хотел выяснить - как? Я был бы очень удивлен, если он будет создавать новые растровые изображения «на лету», поскольку он масштабируется, потому что это очень дорогостоящая операция. – rcoyner

+0

«Маловероятно, что система будет кэшировать отдельные буквенные формы в виде растровых изображений из-за того, как работает сглаживание и подпиксельный рендеринг». На самом деле, насколько я знаю (и я являюсь автором систем текстового рендеринга для двух ОС - Symbian и RIM OS), системы всегда кэшируют растровые изображения для отдельных букв. Хотя растрирование глифов происходит быстро, это не так быстро, что кэширование не поможет. –

Смежные вопросы