gpt4 book ai didi

android - 从可绘制资源加载 TextureRegion

转载 作者:行者123 更新时间:2023-11-29 01:47:32 27 4
gpt4 key购买 nike

我有这个代码工作:

menu2TextureAtlas = new BitmapTextureAtlas(this.activity.getTextureManager(),256, 128);
menu2TextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(menu2TextureAtlas, this.activity, "menu2.png", 0, 0);
menu2TextureAtlas.load();

但我现在已将图像 menu2.png 移动到 res/drawable-*(其中 * 是 hdpi、mdpi、xhdpi、xxhdpi)。所以现在我需要从那里加载图像。我该怎么做呢?

更新

回答, 不确定它是否是最好的:

Resources resources = activity.getResources();
Drawable drawable = resources.getDrawable(R.drawable.menu1);
int width = drawable.getIntrinsicWidth();
int height = drawable.getIntrinsicHeight();
menu1TextureAtlas = new BitmapTextureAtlas(this.activity.getTextureManager(), width, height);
menu1TextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromResource(menu1TextureAtlas, this.activity, R.drawable.menu1, 0, 0);
menu1TextureAtlas.load();

最佳答案

这是我用来从内部存储而不是可绘制对象加载 png 的代码。希望这能满足您的需求。事实上,在我自己的例子中,我首先将一个可绘制对象保存到内部存储,以便我可以覆盖存储中的文件。不确定这是否适合您的情况,但这是代码。如果您需要更多,只需添加评论。

    public void loadImageFromInternalStorage(){
Log.d(TAG, "loadImageFromInternalStorage()");
try {
File imageFile = this.getFileStreamPath(userCreatedFileName);
FileInputStream fi = new FileInputStream(imageFile); // Throws an error if file not exits.
FileBitmapTextureAtlasSource fileTextureSource = FileBitmapTextureAtlasSource.create(imageFile);
this.grabTexture.clearTextureAtlasSources();
Log.d(TAG, "fileTextureSource" + fileTextureSource.toString());
BitmapTextureAtlasTextureRegionFactory.createFromSource(grabTexture, fileTextureSource, 0, 0);
Log.d(TAG, "createdFromResource");

} catch (FileNotFoundException ex) {
Log.e("File Not found in internal storage", ex.getMessage());

}
}

关于android - 从可绘制资源加载 TextureRegion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20525105/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com