php-干净的解决方案,在创建的PNG图像上设置DPI

我想在网站上使用PHP创建PNG图像.这些应按规定的比例打印.因此,我想直接使用PHP设置图像的DPI值.不幸的是,我没有为此找到任何函数调用.

有没有可以设置/更新PNG文件元数据的功能?
也许其他解决方案更合理,例如使用带有CSS样式表的HTML-Wrapper进行打印,从而在外部定义分辨率.但是我更喜欢“直接在图像上”的方法.

解决方法:

PNG可以包含任意头.如果查看PNG specification,则可以将tEXt块(称为块)添加到给定的PNG中.有关tEXT块的更多信息,请参见规范的4.2.3节.

例如,Adobe Photoshop将元XML添加到其PNG中.我不确定GD是否支持此功能,但我希望从那里开始.绝对有可能.

这是一些处理解析PNG块的PHP代码.它可能会引导您朝正确的方向发展. http://code.svn.wordpress.org/imagelibs/libpng.php

这是PNG文本编辑器的屏幕截图,显示了Photoshop生成的XML. https://*.com/a/14356339/278976

上一篇:php – 什么可能导致imagecolorsforindex()的“颜色索引超出范围”错误?


下一篇:php gd:图片无法显示,因为其中包含错误