PNG 透明度在某些应用程序中被识别,但在其他应用程序中则不然
我有一个 png 图像,您可以在这里看到:
http://img10.imageshack。 us/img10/9145/archer5.png
精灵的背景是透明的,我在所有浏览器和 infranview(我用来创建这个)以及 gimp 和 windows explorer 中都看到了这一点。
然而,在 Photoshop、Paint 以及最重要的 PHP GD 中,都有扎实的背景。 使用这些应用程序之一查看图像,看看我在说什么。
我的服务器上生成的缩略图都是纯色背景,效果不好。
我该如何做才能使透明度得到所有应用程序的认可?
谢谢。
注意:我还有2000张这样的图像需要进行相同的操作。 任何批量建议也很棒。
编辑:对不起大家,我为我的无能道歉! 文件错误! 我用正确的文件更新了链接,抱歉!
I have a png image, which you can see here:
http://img10.imageshack.us/img10/9145/archer5.png
The background of the sprite is transparent, I see this on all my browsers and in infranview (which I used to create this), and gimp and windows explorer.
However in Photoshop, Paint, and most importantly PHP GD there is a solid background. Check out the image with one of those applications to see what I'm talking about.
The thumbnails produced on my server are all solid background, not good.
What can I do to make the transparency be recognized by all applications?
Thanks.
Note: I also have 2000 of these images that needs to undergo the same operation. Any batch suggestion would be great as well.
Edit: Sorry guys I apologize for my ineptness! WRONG FILE!
I updated the link with the correct file, sorry!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
对我来说,它在 Photoshop 中具有透明背景。 我猜测,如果它在某些应用程序中不透明,那么这是应用程序的问题(不支持透明度)而不是文件的问题。
It has a transparent background in Photoshop for me. I'm guessing that if it isn't transparent in some application, it is a problem with the application (not supporting transparency) than with the file.
对我来说也是透明的。
MS Paint 不支持透明度
当您提到 PHP GD 时,请检查此链接
保留 PNG 图像透明度
使用 PHP 调整透明 PNG 的大小和组合
imagecolortransparent PHP 手册
imagealphablending PHP 手册
imagesavealpha PHP 手册
It's transparent for me too.
MS Paint doesn't support transparency
As you mention PHP GD check this links
Preserve PNG image transparency
Resize and Compose Transparent PNG with PHP
imagecolortransparent PHP Manual
imagealphablending PHP Manual
imagesavealpha PHP Manual
GD 需要各种选项之一(直接或在创建新图像时的图像类型中)才能输出透明像素。
GD requires one of various options (either directly or in the image type when you create a new image) in order to output transparent pixels.
我认为你的问题是应用程序本身。 当您说 PHP GD 时,我认为您真正的意思是“Internet Explorer”(因为 PHP 不是查看器)。 Internet Explorer(至少到 IE7)不支持透明 PNG(它会在后面放置灰色图像),除非您使用 Alpha 过滤器执行一些奇怪的废话。
这是您在 safari 中的(更新的)图像(正确支持 PNG):
(来源:arc.net.au)
I think your problem is the applications themselves. When you say PHP GD I think what you really mean is "Internet Explorer" (since PHP is not a viewer). Internet Explorer (at least up to IE7) doesn't do transparent PNG (it puts a grey image behind) unless you do some quirky bullshit with an Alpha filter.
This is your (updated) image in safari (which supports PNG correctly):
(source: arc.net.au)
也许您可以尝试将它们保存为 24 位 PNG,而不是 32 位。 也许 PHP GD 对此有更好的支持。
Perhaps you could try saving them as 24-bit PNGs, instead of 32-bit. Maybe PHP GD would have better support for that.