如何使用PHP调整高分辨率图片的大小
当用户上传图片时,我正在处理图片,但我的问题是高rez pics。如何检测用户上传的时间?我正在使用GD库的PHP。使用imagejpeg()方法将质量设置为90不会对其执行任何操作,但会缩放尺寸,然后将ppi设置为72.我希望能够保留尺寸并同时将ppi降至72。任何建议将不胜感激。
没有找到相关结果
已邀请:
6 个回复
纫合峭
埃输林桨铃
如果您下载这些图像并尝试打印它们,例如在IrfanView中,它实际上会使用dpi信息将像素转换为目标物理单位。两个图像将以不同的尺寸打印。 图片PPI无法在网络上使用 坏消息是,在网页上显示图像时,这不会改变任何内容。显示器的锚单元始终是CSS中的像素。所以
和
在浏览器中的大小完全相同。即使您直接打开图像。即使你使用像
这样的物理单位:
两个图像将以相同的大小显示;无论使用固定比率的图像分辨率如何,物理单位都被转换为像素。令人惊讶的是,即使您尝试在Firefox中打印原始图像(而不是页面),它们也将以相同的尺寸打印。无法评论其他浏览器。奇怪的是 - 这在Irfanview中如预期的那样有效。 PPI和视网膜图像 现在有了Iphones等视网膜(即高分辨率)图像变得时髦。这里有很多关于DPI(实际上是PPI)的内容,但这只与目标设备和CSS媒体查询有关。 没有任何东西可以真正识别你的形象的PPI;您必须以像素为单位指定高分辨率视网膜图像的实际尺寸。这是66x66图标的示例(从此处):
因此,您可以通过在CSS中为它们设置较低的尺寸来实际“缩小”高分辨率图像。但我只建议对视网膜图像和正确的媒体查询进行此操作。 所以,你必须在PHP中重新采样 所以实际上,如果你想让上传的图像在网上显得更小,最好的方法就是重新取样。重新采样意味着不仅仅更改标题,而是更改图像的实际像素矩阵。这是我在PHP中使用的代码,它使用GD库:
请注意,这需要相当多的内存,这可能会受到您的托管服务提供商的限制。
窃誓额
慷祈霖黑
勘掸府迫路
抚驰