如何判断图像是PNG24还是PNG8以及位数和通道数?
我试图用 getimagesize 或 Imagick 来区分 PNG-8 和 PNG-24 图像,但我不太知道如何做。
getimagesize
不会返回我的 PNG 的通道,而是显示 mimetype。它适用于其他图像并显示正确的值,但对于 PNG 它只显示任何内容。
编辑:我的环境中没有安装 Imagick,但 gdlib 是...
任何人都可以帮助我吗?
您好,
汤姆
编辑2: 可以这样做吗?
//create png for tests
$testPng = imagecreatefrompng( $file );
//test how many colors are used
$meta .= 'colors: ' . imagecolorstotal( $testPng );
$meta .= ' truecolor: ' . imageistruecolor( $testPng );
//destroy the test image
imagedestroy( $testPng );
如果 truecolor 为 false 或未设置,它是 png24?
I am trying to distinguish PNG-8 and PNG-24 images with getimagesize
or Imagick, but I don't quite know how to to it.
getimagesize
does not return channels for my PNGs and displays the mimetype instead. It works well for other images and shows the correct values, but for PNG it just shows nothing.
edit: Imagick is not installed in my environment but gdlib is...
Can anyone help me a bit?
Greetings,
Tom
edit2:
Is it possible to do it like this?
//create png for tests
$testPng = imagecreatefrompng( $file );
//test how many colors are used
$meta .= 'colors: ' . imagecolorstotal( $testPng );
$meta .= ' truecolor: ' . imageistruecolor( $testPng );
//destroy the test image
imagedestroy( $testPng );
And if truecolor is false or not set, it is a png24?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
查看如何从 PHP 读取 PNG 元数据?
Take a look at How can I read PNG Metadata from PHP?
getimagesize()
似乎可以解决问题:甚至不需要GD。
getimagesize()
seems to do the trick:doesn't even need GD.