Загрузка 26-буквенных изображений с полосы PNG с помощью BitmapRegionDecoder
В приложении для игры в слова я пытаюсь загрузить 26 буквенных плиток из PNG-изображения 6205 x 240:
private Paint mPaint = new Paint(Paint.FILTER_BITMAP_FLAG);
mStripe = BitmapFactory.decodeResource(
context.getResources(), R.drawable.big_english);
int h = mStripe.getHeight();
mSrc = new Rect(0, 0, h, h);
mDst = new Rect(0, 0, h, h);
canvas.drawBitmap(mStripe, mSrc, mDst, mPaint);
На реальном устройстве (Moto G) это терпит неудачу с (я думаю, 1.5x уменьшено с drawables-xxhdpi
):
OpenGLRenderer Bitmap слишком велик для загрузки в текстуру (4137 x 160; макс =4096x4096)
и изображения букв не отображаются (перетаскиваемая плитка кажется пустой):
Поэтому я хотел бы использовать BitmapRegionDecoder для загрузки 240 х 240 битовых карт, но как новичок в программировании на Android (и я тоже искал) у меня все еще есть 2 вопроса, пожалуйста:
- Как загрузить
R.drawable.big_english
- нет подходящего конструктора? - Могу ли я как-то использовать
isShareable
здесь - учитывая тот факт, что я загружаю 26 писем?
1 ответ
Растровые шрифты для Android http://examples.javacodegeeks.com/android/games/canvas/using-bitmap-fonts/
Вы должны также Google для шрифтов битовой карты. Есть еще несколько реализаций и примеров.
Для gl есть реализация в libgdx http://www.codehead.co.uk/blog/android-bitmap-font-renderer-text-scaling-feature/