如何优化流中instagram图片的大小

时间:2019-03-29 13:00:44

标签: api instagram

我想优化我的prestashop商店中某个模块的Instagram提要发送的图像的大小。

如何请求较小尺寸的图像,例如134x134px或150x150px ...

我的原图是: https://scontent-cdt1-1.cdninstagram.com/vp/2c273bea214e232de2a2d6ded00cfd57/5D306C5B/t51.2885-15/sh0.08/e35/c135.0.809.809/s640x640/52890210_803725976651019_6529311483719815543_n.jpg?_nc_ht=scontent-cdt1-1.cdninstagram.com

但是我只是想说,这张图片在HTML或CSS中的大小从640x640调整为135x135。

提供缩放后的图像可以节省91.4KiB(减少95%)。

1 个答案:

答案 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!当然,您应该将以下代码集成到模块中并进行适当的更改。