android - libgdx 中的 ColorMatrixColorFilter equivlanet

标签 android libgdx

我的程序有一个方法应该获取图像和颜色,并将该图像中的所有像素变成该颜色,同时保持每个像素的透明度。

这可以在 Android 中使用 ColorMatrixColorFilter 轻松完成,而无需使用嵌套循环遍历整个图像并单独更改每个像素,这会明显变慢。

但是,我最近决定切换到 libgdx,这意味着我不能使用 ColorMatrixColorFilter。 libgdx 是否有任何类可以做类似的事情,而无需我手动更改每个像素?

最佳答案

最好的方法是使用只有白色像素的纹理(不同的 alpha),并在使用 SpriteBatch.setColor(r,g,b,a) 绘制它们之前对其进行着色 - - 之后只需设置回 Color.WHITE

除了必须暂停逐像素变换纹理外,这样做最大的好处是纹理不需要在自己的文件中设置,而是可以放在同一个 TextureAtlas 中。其他未着色的纹理。因为不需要绑定(bind)不同颜色版本的纹理,SpriteBatch 最终减少了渲染调用,这意味着渲染速度更快。

关于android - libgdx 中的 ColorMatrixColorFilter equivlanet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13118845/

相关文章:

java - 用于不同类型子对象的 Libgdx 池

java - Here-API:PDE 请求返回 GeoboundingBox 之外的 POI

java - 在 libgdx java 中运行时旋转粒子

android - 如何将 libgdx 添​​加到现有项目

android - SlidingMenu Lib Android 中的滑动过渡不流畅

java - 我可以仅缩放 OrthograficCamera libgdx 的一部分吗

android - 适用于 Android 游戏开发的 Cocos2D 或 libgdx

android - --target native-lib 不是一个目录

java - 从 Java/Android 中的 URL 获取域名

java - 一种布局将另一种布局推离屏幕