使用BitmapRegionDecoder从PNG条带加载26个字母图像

时间:2014-11-11 17:50:47

标签: android android-bitmap bitmapregiondecoder

a word game app我试图从a 6205 x 240 PNG image加载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)上,这失败了(我猜测从drawables-xxhdpi缩小1.5倍):

  

OpenGLRenderer位图太大而无法上传到纹理中(4137 x   160;最大= 4096×4096)

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

Moto G photo

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

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

1 个答案:

答案 0 :(得分:1)

android http://examples.javacodegeeks.com/android/games/canvas/using-bitmap-fonts/

的Bitmapfonts

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

对于gl,libgdx http://www.codehead.co.uk/blog/android-bitmap-font-renderer-text-scaling-feature/

中有一个实现