Javascript 如何使用php或任何其他语言在不损失质量或分辨率的情况下减少图像文件大小?

Javascript 如何使用php或任何其他语言在不损失质量或分辨率的情况下减少图像文件大小?,javascript,java,php,python,image-processing,Javascript,Java,Php,Python,Image Processing,我有1 MB高清分辨率的图像。我想文件大小将减少到50%分钟(512KB)。我尝试过使用PHP,但它对我不起作用。如果有人知道,请帮助我 喜欢这个网站 $filename = "image.jpg"; // 1 mb image file header('Content-Type: image/jpeg'); list($width_orig, $height_orig) = getimagesize($filename); $width = $width_orig; $height = $h

我有1 MB高清分辨率的图像。我想文件大小将减少到50%分钟(512KB)。我尝试过使用PHP,但它对我不起作用。如果有人知道,请帮助我

喜欢这个网站

$filename = "image.jpg"; // 1 mb image file
header('Content-Type: image/jpeg');

list($width_orig, $height_orig) = getimagesize($filename);
$width = $width_orig;
$height = $height_orig;

$ratio_orig = $width_orig / $height_orig;

if ($width / $height > $ratio_orig) {
 $width = $height * $ratio_orig;
} else {
 $height = $width / $ratio_orig;
}

$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($image_p, "image_resized.jpg", 100);
你可能想看看或者。此外,您可以尝试将图像转换为不同的文件格式;某些格式比其他格式更好地压缩某些类型的图像

除非图像中存在大量冗余,否则在不丢失一些信息的情况下,似乎不可能将图像大小减少50%。

函数压缩图像($source\u url,$destination\u url,$quality){


您想降低图像,但不想降低质量或分辨率?:/忘记处理过程/语言,您能详细说明如何工作吗?如果您想减小文件大小,您可能不希望最后一行的质量为100(
imagejpeg(
)所以你想要一个无损压缩,减少50%的大小?这就是你要问的吗?只需搜索“图像格式无损”,并尝试将图像转换为这些格式,看看它们是否匹配你想要的大小。是的,该代码不适合我。所以我写了新的,它工作得很好。谢谢你的评论
    $info = getimagesize($source_url);

        if ($info['mime'] == 'image/jpeg')
                $image = imagecreatefromjpeg($source_url);

        elseif ($info['mime'] == 'image/gif')
                $image = imagecreatefromgif($source_url);

    elseif ($info['mime'] == 'image/png')
                $image = imagecreatefrompng($source_url);

        imagejpeg($image, $destination_url, $quality);
    return $destination_url;
}