Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将Android位图转换为LibGdx的纹理

将Android位图转换为LibGdx的纹理
EN

Stack Overflow用户
提问于 2013-02-17 22:11:18
回答 4查看 6.2K关注 0票数 3

我试图通过转换将位图转换为libGDX纹理:

  1. 安卓Bitmapbyte[]
  2. byte[] to libGDX Pixmap
  3. libGDX Pixmap to libGDX Texture

我面临的问题是,转换为纹理的位图是从资产文件夹中的纹理封隔器中提取精灵工作表的。

代码语言:javascript
运行
AI代码解释
复制
public void onByteArrayOfCroppedImageReciever(byte[] bytes) {
    try {
        pmap=new Pixmap(bytes, 0, bytes.length);
        tex=new Texture(pmap);
        face=new Sprite(tex);
        // game.setScreen(new GameScreen(game, batcher, face));
    } catch(Exception e) {
        Gdx.app.log("KS", e.toString());
        e.printStackTrace();
    }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-01 16:47:10

嗯,另一种可能是你有一个线程问题。当libgdx在呈现线程上同时加载纹理时,在UI线程上加载自己的非托管纹理时,我注意到了这种问题。如果这是问题所在,那么简单的解决方案就是使用Gdx.app.postRunnable将纹理的创建与呈现线程同步。即:

代码语言:javascript
运行
AI代码解释
复制
public void onByteArrayOfCroppedImageReciever(byte[] bytes) {
    try {
        pmap=new Pixmap(bytes, 0, bytes.length);
        Gdx.app.postRunnable(new Runnable() {
            @Override
            public void run() {            
                tex=new Texture(pmap);
                face=new Sprite(tex);
            }
        });
    } catch(Exception e) {
        Gdx.app.log("KS", e.toString());
        e.printStackTrace();
    }
}
票数 12
EN

Stack Overflow用户

发布于 2014-01-23 13:06:20

如果目标是将Android位图转换为libgdx纹理,则根本不需要使用Pixmap。您可以通过简单的OpenGL和Android GLUtils直接完成它。试试下面的方法,它比你的解决方案快100倍。我假设您不在呈现线程中(不应该很可能)。如果是,则不需要调用postRunnable()。

代码语言:javascript
运行
AI代码解释
复制
       Gdx.app.postRunnable(new Runnable() {
        @Override
        public void run() {
          Texture tex = new Texture(bitmap.getWidth(), bitmap.getHeight(), Format.RGBA8888);
          GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, tex.getTextureObjectHandle());
          GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);
          GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, 0);
          bitmap.recycle();
          // now you have the texture to do whatever you want
        }
      });
票数 19
EN

Stack Overflow用户

发布于 2013-06-19 23:11:03

您必须在一个新线程上进行编码,因为像素映射类需要时间进行字节转换,有时还会返回一个临时像素映射,以防进程尚未完成,所以最好在单独的线程上运行,这样您的问题就会得到解决。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14930463

复制
相关文章
Django 自定义管理命令
Django 提供了一组非常实用的命令, 可以通过django-admin.py和pytohn manage.py脚本调用. 关于这个Management Command的一个优点是你可以创建自定义的command来扩展它.当你需要通过终端命令来对程序进行操作的时候, 通过这个管理命令就非常方便了。 在本篇中, 你将学习到如何编写自己的命令并通过manage.py 来调用.
用户1416054
2018/12/19
1.3K0
Django 自定义管理命令
Django中ORM操作
Django的orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句;所有使用Django开发的项目无需关心程序底层使用的是MySQL、Oracle、sqlite....,如果数据库迁移,只需要更换Django的数据库引擎即可;
緣來
2020/01/02
4.8K0
Django后台管理之Admin actions自定义
通常情况下,admin的工作模式是“选中目标,然后修改目标”,但在同时修改大量目标的时候,这种模式就变得重复、繁琐。
菲宇
2019/08/14
2.2K0
Django中数据库的相关操作
year、month、day、week_day、hour、minute、second:对日期时间类型的属性进行运算。
小闫同学啊
2019/07/18
2.3K0
Django中数据库的相关操作
Django图书管理系统(单表操作)
Python3 以及前端:HTML,CSS,jQuery,BootStrap,Django,JavaScript
py3study
2020/02/10
6250
Django中的cookie与session操作实例代码
users = UserInfo.objects.filter(username=username,password=password)
用户8826052
2021/07/13
2860
ubuntu中的django安装配置与操作
1 安装django,在安装前确保python已经安装,ubuntu中默认有安装的。我们只需要安装django即可,解压django压缩文件,进入解压后的文件夹,运行,python setup.py install即可安装django到python中。 2 创建django项目,首先在任意位置创建文件夹,这里是在python用户下创建work文件夹,接着进入work运行一下命令即可创建django工程。 root@ubuntu118:/home/python/work# django-admin.py st
闵开慧
2018/03/30
1K0
Django的新增接口集管理数据库操作(十一)
从上文的ajax请求可以看出:我们点击添加之后会调用POST,来将数据以json的格式传输给/callections/
zx钟
2019/07/19
5470
【Django】 开发:数据库操作和后台管理
与 all () 方法不同,它会用 SQL 语句的 ORDER BY 子句对查询结果进行根据某个字段选择性的进行排序
杨丝儿
2022/02/24
4.1K0
Django(33)Django操作cookie
cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据。
全栈程序员站长
2022/09/19
9460
Django(33)Django操作cookie
Angular 中自定义 Video 操作
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第10天。 上一篇文章是 Angular 项目实现权限控制。最近自己在网上看到别人使用 vue 进行自定义 video 的操纵。加上不久前实现了 angular 自定义 video 的相关需求, 遂来记录一下,作为交流思考🤔 实现的功能如下: 播放 / 停止 快退 / 快进 / 倍速 声音开 / 声音关 进入全屏 / 退出全屏 进入画中画 / 退出画中画 【安卓平板不支持,不建议使用】 经过时长 / 总时长 播放进度条功能:支持点击,拖拽进度
Jimmy_is_jimmy
2022/04/15
1.8K0
Angular 中自定义 Video 操作
自定义方便kubectl中pods的管理
我猜很多接触 K8S 的同学应该都是运维的同学为主,一般上来说,运维的同学写 Shell 显然是比 Java 程序员专业的,但是当大数据遇到 K8S 的时候,搞大数据的同学还在每条 kubectl 去操作实在是太浪费时间了。 在我学习的过程中,我会创建很多临时的 Pods,测试完其实这些 Pods 就没用了,或者说 Status 是 Error 或者 Complete 的 Pods 已经不是我学习的对象,想删掉,所以 kubectl get pods 的时候想显示少一点。 简单的办法就是用 Alias 来封装一下各种状态的显示。
runzhliu
2020/08/06
6880
django 1.8 官方文档翻译:7-2 管理操作
简而言之,Django管理后台的基本流程是,“选择一个对象并改变它”。在大多数情况下,这是非常适合的。然而当你一次性要对多个对象做相同的改变,这个流程是非常的单调乏味的。
ApacheCN_飞龙
2022/11/27
7370
django 1.8 官方文档翻译:7-2 管理操作
Django中六个常用的自定义装饰器
装饰器作用 decorator是当今最流行的设计模式之一,很多使用它的人并不知道它是一种设计模式。这种模式有什么特别之处? 有兴趣可以看看Python Wiki上例子,使用它可以很方便地修改对象行为,
jhao104
2018/07/04
1.3K0
Django 模型中自定义Manager和模型方法
在语句Book.objects.all()中,objects是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager. 每个Django模型至少有一个manager,你可以创建自定义manager以定制数据库的访问. 这里有两个方法创建自定义manager:添加额外的manager;修改manager返回的初始Queryset.
菲宇
2019/06/13
2.8K0
django(一)基本的操作
django 版本2.0.5 新建一个app 创建django app 我们先来了解一下一些必要的概念。Django 里什么东西叫 APP 呢?
学到老
2019/01/25
3780
django(一)基本的操作
点击加载更多

相似问题

Django -自定义管理操作

10

Django -自定义管理操作

12

添加自定义Django管理操作

11

FeinCMS操作列的Django自定义管理操作

13

在django中测试自定义管理操作

43
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文