我正在使用cocos2D-python,我正在使用pyglet.image.load和pyglet.resource.image加载图像,但它仍然在被支持为透明的地方添加了一些白色像素。
我以前用过pygame,但从来没有用过它。
如果重要的话,我使用paint.net并将图像保存为.png
提前感谢
https://dl.dropboxusercontent.com/u/58141766/white%20pixels%20%3B(.png
发布于 2015-01-09 00:55:17
所以很明显,因为我想让它像素化,所以决定对它进行mipmap或其他什么东西,所以它对它进行了抗锯齿处理。无论如何,我发现这是一个半途而废的解决方案:
from pyglet.gl import *
glEnable(GL_TEXTURE_2D)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)然后一个有效的解决方案是每次加载纹理时都添加glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST),这可能不是最有效的做法,但是meh。
发布于 2017-05-27 03:51:21
只是为了让Frothiny的回答更清晰一些:
他提到的行解决了问题,但它们的位置很重要。我可以通过在创建sprite后立即添加gl行来使修复生效。
示例
# Your imports...
from pyglet.gl import *
# Your program's code...
Sprite('someimage.png')
glEnable(GL_TEXTURE_2D)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)https://stackoverflow.com/questions/27827547
复制相似问题