我想优化我的prestashop商店的模块的Instagram Feed发送的图像的大小。
如何申请较小尺寸的图像,如134x134px或150x150px ......
但我会这样,这张图片在HTML或CSS中从640x640调整为135x135。
提供缩放图像可以节省91.4KiB(减少95%)。
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="" />';
瞧!当然,您应该将以下代码集成到您的模块中并进行适当的更改。