Java 更改在Swing中使用图像的粒子的颜色

Java 更改在Swing中使用图像的粒子的颜色,java,swing,colors,bufferedimage,particles,Java,Swing,Colors,Bufferedimage,Particles,我有一个在JavaSwing中使用粒子引擎的项目。这些粒子使用图像而不是基本形状(图像完全为黑色,背景透明),它们共享图像,因此内存较低。共享图像(BuffereImage)后,如何使粒子具有不同的颜色 如果我创建一个预加载图像的副本并将黑色更改为我想要的颜色,我可以让它工作,但是每个粒子都有自己的图像,它会占用大量内存 最坏的情况下,我可能会切换到LWJGL或TWL,但我在粒子引擎之前制作的程序中已经有很多内容,我需要重新制作:/。每个粒子应该有不同的颜色吗?或者,例如,会有10000个总共1

我有一个在JavaSwing中使用粒子引擎的项目。这些粒子使用图像而不是基本形状(图像完全为黑色,背景透明),它们共享图像,因此内存较低。共享图像(BuffereImage)后,如何使粒子具有不同的颜色

如果我创建一个预加载图像的副本并将黑色更改为我想要的颜色,我可以让它工作,但是每个粒子都有自己的图像,它会占用大量内存


最坏的情况下,我可能会切换到LWJGL或TWL,但我在粒子引擎之前制作的程序中已经有很多内容,我需要重新制作:/。

每个粒子应该有不同的颜色吗?或者,例如,会有10000个总共10种颜色的粒子吗?如果每个都有自己的颜色,那么可能会变得有点棘手。也许你可以通过上传到这里来提供图像。例如,在你之前的问题中引用的模型只对任意数量的粒子使用六种颜色的图像。你应该尝试扩展你的要求以获得最佳答案。您调查过Java2D查找过滤器吗?您应该能够将过滤器应用于要动态渲染的图像部分。@trashgod现在没有颜色,他们正在以flyweight模式共享单个图像。我想我可以限制颜色的变化,但是对于我来说,每1张图像存储10张图像对我来说还是太过分了。对javajon来说:即使使用LookupOp过滤器,看起来我仍然需要将过滤后的图像结果存储在粒子本身上。大量粒子仍然是一个问题:/I我认为@javajon意味着你可以在渲染时
filter()
单个图像;self time
paintComponent()
查看。