1

我需要这种效果,我想知道如何做到这一点。我在谷歌上搜索,但没有找到任何符合我需求的东西。

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

有没有办法在一定程度上转换为单色?喜欢让它 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();
}

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

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

4

0 回答 0