0

文字游戏应用程序中,我试图从6205 x 240 PNG 图像中加载 26 个字母图块:

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 位图太大而无法上传到纹理中 (4137 x 160; max=4096x4096)

并且不显示字母图像(拖动的图块似乎是空的):

摩托G照片

所以我想使用BitmapRegionDecoder加载 240 x 240 位图,但作为一个 Android 编程新手(我也搜索过),我仍然有 2 个问题:

  1. 如何加载R.drawable.big_english- 没有合适的构造函数?
  2. isShareable考虑到我加载了 26 个字母,我可以在这里使用吗?
4

1 回答 1

1

Android 的位图字体http://examples.javacodegeeks.com/android/games/canvas/using-bitmap-fonts/

您还应该搜索位图字体。还有一些实现和示例。

对于 gl 在 libgdx http://www.codehead.co.uk/blog/android-bitmap-font-renderer-text-scaling-feature/中有一个实现

于 2014-11-11T21:58:51.643 回答