ホームページ >バックエンド開発 >PHPチュートリアル >PHPでの画像圧縮
ここで画像を圧縮したいと思います。たとえば、640x480 の画像を保存すると 600k になります。これは可能ですか?このように圧縮すると画像が壊れてしまいますか?具体的にはどうすればいいのでしょうか?緊急? ? ? ? ?
考えられる問題は、画像の表示効果と元の画像の間に色の違いがあり、欠陥があることです。
gd ライブラリを使用してサムネイルを生成できます
<?php//创建一个压缩包$zp = gzopen("1.gz", "wb");//获取待压缩的数据$string = file_get_contents("com.html");//最大化压缩数据$compress_string = gzcompress($string, 9);//将压缩数据写入压缩包gzwrite($zp, $compress_string, strlen($compress_string));gzclose($zp);?>
?テスト: http://blog.csdn.net/fdipzone/article/details/9316385
いいえ!
640x 480 600k を 640x 480 480k に圧縮すると、削除された 120k によって必然的に画像データの 1/5 が失われ、画質が低下します
元の画像がビットマップ形式 (BMP、TIFF) である場合を除きますが、
gif 可逆圧縮ですが、色数は 256 色のみです (つまり、色情報が失われます)
jpeg は非可逆圧縮です。明らかに、「非可逆」という言葉ですでに問題がよく説明されています
png は可逆圧縮ですが、色数が 256 の場合色、それは明らかに色情報が失われ、本当の色は圧縮なしと同じになります
品質を下げてみてください。
PHP を使用する方法は 3 つあります:
1.
$im = imagecreatefromjpeg('3.jpg'); imageinterlace($im, true); imagejpeg($im, './3.jpg'); var_dump(imageinterlace($im, true));
$image = @imagecreatefromjpeg("9.jpg"); imagejpeg($image,'90.jpg',20); /*压缩等级0-100*/ imagedestroy ($image);
いいえ!
640x 480 600k を 640x 480 480k に圧縮すると、削除された 120k によって必然的に画像データの 1/5 が失われ、画質が低下します
元の画像がビットマップ形式 (BMP、TIFF) である場合を除きますが、
gif 可逆圧縮ですが、色数は 256 色のみです (つまり、色情報が失われます)
jpeg は非可逆圧縮です。明らかに、「非可逆」という言葉ですでに問題がよく説明されています
png は可逆圧縮ですが、色数が 256 の場合色、それは明らかに色情報が失われ、本当の色は圧縮なしと同等です
?テスト: http://blog.csdn.net/fdipzone/article/details/9316385
絆はあなた自身の仕事です
いいえ!
640x 480 600k を 640x 480 480k に圧縮すると、削除された 120k によって必然的に画像データの 1/5 が失われ、画質が低下します
元の画像がビットマップ形式 (BMP、TIFF) である場合を除きますが、
gif 可逆圧縮ですが、色数は 256 色のみです (つまり、色情報が失われます)
jpeg は非可逆圧縮です。明らかに、「非可逆」という言葉ですでに問題がよく説明されています
png は可逆圧縮ですが、色数が 256 の場合色、それは明らかに色情報が失われ、本当の色は圧縮なしと同等です