我想优化我的prestashop商店中某个模块的Instagram提要发送的图像的大小。
如何请求较小尺寸的图像,例如134x134px或150x150px ...
但是我只是想说,这张图片在HTML或CSS中的大小从640x640调整为135x135。
提供缩放后的图像可以节省91.4KiB(减少95%)。
答案 0 :(得分:0)
imagecopyresampled() PHP函数非常适合此任务,下面是一个示例:
<?php
$filename = './test-instagram-orig.jpg';
$dest_filename = './test-instagram-resized.jpg';
$new_width = 150;
$new_height = 150;
$my_instagram_image = file_put_contents($filename, file_get_contents('https://scontent-sjc3-1.cdninstagram.com/vp/9844eb2fd4f4012141feef47d2eb97b2/5D389B06/t51.2885-15/sh0.08/e35/s640x640/10249289_1618492008409419_392402572_n.jpg?_nc_ht=scontent-sjc3-1.cdninstagram.com'));
list($width, $height) = getimagesize($filename);
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($image_p, $dest_filename, 100);
imagedestroy($image_p);
echo '<img src="'.$filename.'" alt="" /> <img src="'.$dest_filename.'" alt="" />';
Voila!当然,您应该将以下代码集成到模块中并进行适当的更改。