【问题标题】:Libgdx get Texture from Image or DrawableLibgdx 从 Image 或 Drawable 获取纹理
【发布时间】:2020-09-20 23:43:57
【问题描述】:

我想从图像中获取纹理数据,因此可以直接渲染它,但我没有看到直接的制作方法,谷歌搜索只显示相反的方式。

我能够获得 Drawable,但界面没有指定确切的纹理数据,所以我看不到将 Image Actor 转换为 Texture。

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

我怎样才能做到这一点?

【问题讨论】:

    标签: java image libgdx textures


    【解决方案1】:

    深入挖掘后,我在forums上找到了解决方案:

    您最好的选择可能是将纹理绘制到 FrameBuffer 中 1:1的比例,那么你可以使用

    ScreenUtils.getFrameBufferPixmap

    从 FrameBuffer 复制像素图并根据需要调整大小。

    类似这样的:

        fb.begin();
    
       
        sb.begin();
        sb.draw(texture, 0, 0);
        sb.end();
    
        Pixmap pm = ScreenUtils.getFrameBufferPixmap(0, 0, width, height);
    
        fb.end();
    

    它不完全是纹理,但它正是我所需要的:从可绘制对象中提取的像素数据。

    经过深思熟虑后,我决定将纹理数据冗余存储在Imagebuttons 旁边,并直接查询存储的数据,而不是使用ImageButton 作为一种容器,它更容易不应该。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多