如何制作图片以避免appengine在缩放时将透明部分变为黑色?
我在使用谷歌的应用引擎,想要调整图片的大小。我做了:
from google.appengine.api import images
image = images.resize(contents, w, h)
对于某些图片,我能得到一个透明的效果,但有些图片却变成了黑色背景。
我该如何让所有图片都保持透明呢?
- 原图 : http://www.stdicon.com/g-flat/application/pgp-encrypted
- 黑色背景 : http://www.stdicon.com/g-flat/application/pgp-encrypted?size=64
- 原图 : http://www.stdicon.com/gartoon/application/rtf
- 黑色背景 : http://www.stdicon.com/gartoon/application/rtf?size=64
- 原图 : http://www.stdicon.com/nuvola/application/x-debian-package
- 透明效果 : http://www.stdicon.com/nuvola/application/x-debian-package?size=64
3 个回答
0
使用PIL库时,你需要把你的图片转换成RGBA格式,像这样:
im = im.convert("RGBA")
如果你想要更好的实现方式,可以看看sorl-thumbnail的代码。它很好地利用了PIL库。
0
这是在开发用的应用服务器上,还是在正式的生产环境中?在开发服务器上有一个已知的bug,透明的部分会变成黑色,但在正式环境中应该不会有这个问题,运行得很好。