我的问题涉及Java Graphics2D中的drawImage方法(这是针对桌面应用程序,而不是Android)。
我要绘制的BufferedImage包含高分辨率二进制数据,大多数像素是黑色的,但我有一些稀疏的绿色像素(绿色像素代表来自传入原始数据流的数据点)。位图非常大,比我的典型面板尺寸大。我把它放大了,所以我可以放大和缩小。问题是当我缩小时,我会丢失一些绿色像素。例如,如果我的图像是 1000 像素,而面板是 250 像素,我会在每个方向(X 和 Y)上丢失 4 个像素中的 1 个。如果我在缩放时使用最近邻插值,则像素可能会消失为黑色。如果我使用双线性插值之类的东西,我的绿色像素将重新着色到黑色和绿色之间的某个位置。
我理解所有这些行为,但我的问题是有什么方法可以获得我想要的行为,即确保是否有任何像素是非黑色的,我希望它以最大强度绘制。也许类似于“最大保持”插值。
我意识到我可以通过在黑色背景上绘制原始形状来做我想做的事情,也许这就是我必须做的。但是我使用位图是有原因的(与我在下降频谱图类型显示中显示数据的事实有关 - 它确实具有所有像素都可以着色而不仅仅是黑色和绿色)。
谢谢,