Libgdx从图像或可绘制对象获取纹理

问题描述 投票:0回答:1

我想从图像中获取Texture数据,因此可以直接渲染它,但是我看不出有什么简单的方法可以实现,Google搜索仅显示了另一种方法。

我能够获取Drawable,但是该界面未指定确切的纹理数据,因此我看不到将Image actor转换为Texture的任何方法。

[我要实现的目的是拥有画笔,其中画笔的数据存储在ImageButton的图像中。因此,在单击ImageButton时,用户将能够基于按钮中存储的图像在屏幕上绘制。

我该怎么做?

java image libgdx textures
1个回答
0
投票

深入研究之后,我在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用作一种容器,这是更容易的,不是。

© www.soinside.com 2019 - 2024. All rights reserved.