Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用pyglet加载图像会将一些透明度像素变为白色_Python_Image_Transparency_Pyglet_Cocos2d Python - Fatal编程技术网

Python 使用pyglet加载图像会将一些透明度像素变为白色

Python 使用pyglet加载图像会将一些透明度像素变为白色,python,image,transparency,pyglet,cocos2d-python,Python,Image,Transparency,Pyglet,Cocos2d Python,我使用的是cocos2D python,我使用pyglet.image.load和pyglet.resource.image加载图像,但它仍然在支持透明的地方添加了一些白色像素 我以前使用过pygame,但从未体验过 如果有关系,我使用paint.net并将图像另存为.png 提前谢谢 很明显,因为我想对其进行像素化,所以决定对其进行mipmap或其他操作,以便对其进行某种程度的抗锯齿处理。。 无论如何,我发现这是一个半途而废的解决方案: from pyglet.gl import * glEn

我使用的是cocos2D python,我使用pyglet.image.load和pyglet.resource.image加载图像,但它仍然在支持透明的地方添加了一些白色像素

我以前使用过pygame,但从未体验过

如果有关系,我使用paint.net并将图像另存为.png

提前谢谢


很明显,因为我想对其进行像素化,所以决定对其进行mipmap或其他操作,以便对其进行某种程度的抗锯齿处理。。 无论如何,我发现这是一个半途而废的解决方案:

from pyglet.gl import *
glEnable(GL_TEXTURE_2D)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)
然后,一个有效的解决方案被添加 glTexParameteri(GL_纹理_2D,GL_纹理_贴图过滤器,GL_最近) 每次我加载一个纹理,可能不是最有效的事情,但我

这是我找到它的地方:

为了让Frothiny的答案更加清晰:

他提到的线条解决了问题,但它们的位置很重要。我能够通过在创建精灵后立即添加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)