Slick2D中有没有办法将整个图形上下文转换为单色?

时间:2014-05-18 19:59:45

标签: graphics transform lwjgl slick2d monochrome

我需要那种效果,我想知道该怎么做。我在谷歌搜索但没有发现任何符合我需求的东西。

特别是,我想绘制图块并想知道是否有办法将它们被绘制的图形上下文转换为单色或者是否有任何绘图模式。

甚至有可能在某种程度上转换成单色吗?喜欢单色50%,就像新的一层。但如果我知道如何简单地将绘制到图形上下文的所有内容完全转换为单色(黑白),那将会非常有用。

我试过了:

//draw things on screen

GL11.glPixelTransferf(GL11.GL_RED_SCALE, 0.30f);
GL11.glPixelTransferf(GL11.GL_GREEN_SCALE, 0.59f);
GL11.glPixelTransferf(GL11.GL_BLUE_SCALE, 0.11f);

copyArea(container, screenCapture, 0, 0, GL11.GL_LUMINANCE8);

//draw copied area on screen

public void copyArea(GameContainer c, Image target, int x, int y, int format) {
  target.bind();
  GL11.glCopyTexImage2D(SGL.GL_TEXTURE_2D, 0, format, x, c.getHeight()
        - (y + target.getHeight()), target.getTexture().getTextureWidth(), 
        target.getTexture().getTextureHeight(), 0);
  target.ensureInverted();
}

但是(当然)它非常慢,因为它转换图形,然后复制它,重置图形并渲染图形上下文的复制图像。

提前感谢您的任何帮助或建议。

0 个答案:

没有答案