Android - Как уберечь Android от изменения размера растровых изображений - PullRequest
0 голосов
/ 02 марта 2012

В течение последних двух дней я боролся с проблемами с текстурами в opengl, где текстуры просто появляются в виде белых прямоугольников на определенных устройствах, а во всем остальном они отображаются нормально. Я дважды проверил и использовал только изображения POT (мощность двух), и это не решило проблему. Из того, что я прочитал, я думаю, что android делает что-то с растровыми изображениями на этих определенных устройствах, что выбивает их из размеров и затем заставляет текстуры появляться пустыми или белыми.

Эти изображения, которые я использую, не хранятся в apk, хотя я пытался использовать изображения, хранящиеся в локальных ресурсах, и, похоже, не имеет значения, хранятся ли они локально или я использую изображения, передаваемые на устройство в виде потока. Мое единственное предположение, что мне нужно что-то сделать, чтобы определенные сборки Android не меняли размеры изображений, но я не знаю, как это сделать.

Ответы [ 2 ]

3 голосов
/ 02 марта 2012

Для растровых изображений, хранящихся в виде ресурсов вашего apk, вы можете запретить системе масштабировать их, поместив их в папку res/drawable-nodpi.Для изображений, созданных из потока, система обычно предполагает, что они предназначены для отображения со средней плотностью (160 точек на дюйм), и будет соответственно масштабироваться.Вы можете предотвратить это с помощью различных вызовов API, как описано здесь .

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

1 голос
/ 02 марта 2012

Вы пробовали использовать изображения с 9 патчами? Если вы исправите их правильно, Android не будет масштабировать изображения

...