如何制作图像,以便 appengine 在调整大小时不会将透明变成黑色?
我在谷歌应用程序引擎上,并尝试调整图像大小。我这样做:
from google.appengine.api import images
image = images.resize(contents, w, h)
对于某些图像,我得到了很好的透明调整大小,而另一些图像则得到了黑色背景。
如何保持所有图像的透明度?
- 原文:http://www.stdicon.com/g-flat/application/ pgp-加密
- 黑色: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
I'm on the google appengine, and trying to resize images. I do :
from google.appengine.api import images
image = images.resize(contents, w, h)
And for some images I get a nice transparent resize, and others I get a black background.
How can I keep the transparency for all images?
- Original : http://www.stdicon.com/g-flat/application/pgp-encrypted
- Black : http://www.stdicon.com/g-flat/application/pgp-encrypted?size=64
- Original : http://www.stdicon.com/gartoon/application/rtf
- Black : http://www.stdicon.com/gartoon/application/rtf?size=64
- Original : http://www.stdicon.com/nuvola/application/x-debian-package
- Transparent : http://www.stdicon.com/nuvola/application/x-debian-package?size=64
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
关于此问题的文章: http://doesnotvalidate.com/2009/调整透明图像大小与 django-pil/
Google 代码补丁:http://code.google.com /p/sorl-thumbnail/issues/detail?id=56
Article on this problem: http://doesnotvalidate.com/2009/resizing-transparent-images-with-django-pil/
Google-code patch: http://code.google.com/p/sorl-thumbnail/issues/detail?id=56
这是在开发应用程序服务器上还是在生产中?开发应用程序服务器上存在一个已知错误,该错误在合成时会变成透明,但在生产中应该可以正常运行。
Is this on the dev appserver, or in production? There's a known bug on the dev appserver that turns transparent to black when compositing, but it should run fine in production.
使用 PIL,您必须将图像转换为 RGBA,如下所示:
如果您想要更好的实现,您可以阅读 sorl-thumbnail 代码。它很好地利用了 PIL。
With PIL you have to convert your image in RGBA like this :
If you want a better implementation, you can read the sorl-thumbnail code. It makes a good usage of PIL.