ビットマップを作成し、テクスチャとしてロードする必要があります (プログラムでビットマップを作成し、いくつかの図面を作成してからテクスチャにバインドします)。
ファイルシステムからビットマップをロードするのはこのようなものです
private int images[] = {
R.drawable.one,
R.drawable.two,
R.drawable.six,
R.drawable.five,
R.drawable.three,
R.drawable.four,
};
私のloadTexture関数は次のようになります
public void loadGLTexture(GL10 gl, Context context) {
// Generate texture pointer
gl.glGenTextures(images.length, textures, 0);
for (int image = 0; image < images.length; image++) {
// bind texture pointer
gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[image]);
// create nearest filtered texture
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);
// different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_REPEAT);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_REPEAT);
// get the texture from the Android resource directory
{
InputStream is = context.getResources().openRawResource(images[image]);
Bitmap bitmap = null;
try {
// BitmapFactory is an Android graphics utility for images
bitmap = BitmapFactory.decodeStream(is);
} finally {
try {
// Always clear and close
is.close();
is = null;
} catch (IOException e) {
}
}
// use Android GLUtils to specify a 2D texture image from our bitmap
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
// cleanup
bitmap.recycle();
}
}
最後に、キャンバスを描画してビットマップに保存する機能があります。(今は1つだけです)作成したビットマップを画像配列に適用する方法を知りたいです。
public Bitmap onDraw( Canvas canvas) {
Paint paint = new Paint();
canvas.drawColor(Color.BLUE);
Bitmap one = Bitmap.createBitmap(256, 256, Bitmap.Config.RGB_565);
Canvas c = new Canvas(one);
canvas.drawRect(0, 0, 256, 256, paint);
paint.setTextSize(40);
paint.setTextScaleX(1.f);
paint.setAntiAlias(true);
canvas.drawText("Your text", 30, 40, paint);
paint.setColor(Color.RED);
return one;
}
ビットマップを int[] 配列にロードするにはどうすればよいですか?
ありがとう