ホームページ  >  記事  >  バックエンド開発  >  PHPでの画像圧縮

PHPでの画像圧縮

WBOY
WBOYオリジナル
2016-06-23 13:42:521124ブラウズ

ここで画像を圧縮したいと思います。たとえば、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));

これは画像を 2k 圧縮できます (これは私の画像の結果です)

2.
       $image = @imagecreatefromjpeg("9.jpg");        imagejpeg($image,'90.jpg',20); /*压缩等级0-100*/       imagedestroy ($image);

これは画像を 90% に圧縮できます。 Imagejpeg($image,'90.jpg',0); //143k => 7k
もちろん、この画像には元の鮮明さはありません。したがって、20 を使用すると、画像を圧縮して希望の状態を実現できるだけでなく、肉眼では元の画像とあまり変わらないように見えます。
これは、図 9 の ImageMagick 拡張機能です

3.php がどの程度圧縮できるかについての具体的なテストはありません

いいえ!
640x 480 600k を 640x 480 480k に圧縮すると、削除された 120k によって必然的に画像データの 1/5 が失われ、画質が低下します
元の画像がビットマップ形式 (BMP、TIFF) である場合を除きますが、
gif 可逆圧縮ですが、色数は 256 色のみです (つまり、色情報が失われます)
jpeg は非可逆圧縮です。明らかに、「非可逆」という言葉ですでに問題がよく説明されています
png は可逆圧縮ですが、色数が 256 の場合色、それは明らかに色情報が失われ、本当の色は圧縮なしと同等です


基本的に 2 つの方法を使用してこれを実現しました。バンバンさんにメッセージをお願いします。

?テスト: http://blog.csdn.net/fdipzone/article/details/9316385


ありがとう、これはまさに私が実験していない方法です。

絆はあなた自身の仕事です


いいえ!
640x 480 600k を 640x 480 480k に圧縮すると、削除された 120k によって必然的に画像データの 1/5 が失われ、画質が低下します
元の画像がビットマップ形式 (BMP、TIFF) である場合を除きますが、
gif 可逆圧縮ですが、色数は 256 色のみです (つまり、色情報が失われます)
jpeg は非可逆圧縮です。明らかに、「非可逆」という言葉ですでに問題がよく説明されています
png は可逆圧縮ですが、色数が 256 の場合色、それは明らかに色情報が失われ、本当の色は圧縮なしと同等です


基本的に 2 つの方法を使用してこれを実現しました。バンバンさんにメッセージをお願いします。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。