几个月前,我编写了以下脚本来转换上传的图像PHP to Retina
和non
视网膜图像。使用此脚本的 iphone 应用程序仅使用 PNG 图像,因此我编写了脚本以使用 PNG。
$filename = dirname(__FILE__)."/uploads/" . $_FILES['myFile']['name'];
$filename = str_replace('.png', '_retina.png', $filename);
file_put_contents($filename, file_get_contents($_FILES['myFile']['tmp_name']));
$image_info = getimagesize($filename);
$image = imagecreatefrompng($filename);
$width = imagesx($image);
$height = imagesy($image);
$new_width = $width/2.0;
$new_height = $height/2.0;
$new_image = imagecreatetruecolor($new_width, $new_height);
imagealphablending($new_image, false);
imagesavealpha($new_image, true);
$color = imagecolortransparent($new_image, imagecolorallocatealpha($new_image, 0, 0, 0, 127));
imagefill($new_image, 0, 0, $color);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
$new_filename = str_replace('_retina.png', '.png', $filename);
imagepng($new_image, $new_filename);
现在我需要相同的脚本,然后用于 Jpeg 图像。因为 iphone 应用程序会加载分辨率更高的图像,所以我们选择了 Jpeg。但我不知道如何使这项工作。
到目前为止我已经尝试过:
- 替换
imagecreatefrompng
为 jpeg 版本 - 替换
imagepng
为 jpeg 版本
有没有人有一个有效的例子或有用的链接可以让我走向正确的方向?