我想从图像中获取Texture数据,因此可以直接渲染它,但是我看不出有什么简单的方法可以实现,Google搜索仅显示了另一种方法。
我能够获取Drawable,但是该界面未指定确切的纹理数据,因此我看不到将Image actor转换为Texture的任何方法。
[我要实现的目的是拥有画笔,其中画笔的数据存储在ImageButton
的图像中。因此,在单击ImageButton
时,用户将能够基于按钮中存储的图像在屏幕上绘制。
我该怎么做?
深入研究之后,我在forums上找到了解决方案:
您最好的选择可能是使用以下命令将纹理绘制到FrameBuffer1:1比例,则可以使用
ScreenUtils.getFrameBufferPixmap
要从帧缓冲区复制像素图并根据需要调整大小。
类似这样的东西:
fb.begin(); sb.begin(); sb.draw(texture, 0, 0); sb.end(); Pixmap pm = ScreenUtils.getFrameBufferPixmap(0, 0, width, height); fb.end();
这不完全是一个纹理,但这正是我所需要的:从可绘制对象中提取的像素数据。
[经过深思熟虑后,我认为将纹理数据冗余地存储在Imagebutton
旁边,直接查询存储的数据,而不是将ImageButton
用作一种容器,这是更容易的,不是。