2016-07-17 5 views
0

私は、画像のサイズを変更して画像を切り取るためにPHPを使用しています。ただし、クロップされたイメージファイルは元のファイルよりも大きく(場合によってはより大きくなります)。私はトリミングせずに(元のイメージをコピー)しようとしましたが、結果のサイズは元のイメージ以上です。phpコピーイメージファイルサイズを大きくする

$ImageName = '/IMAGES/testImage.jpg'; 

//Download the Image File 

$base_url = 'https://image.jimcdn.com/app/cms/image/transf/none/path/sa6549607c78f5c11/image/ia62ed3191fcc424f/version/1457278719/athens-european-best-destinations.jpg'; 
$image_size = getimagesize($base_url); 
$image_width = $image_size[0]; 
$image_height = $image_size[1]; 

$src_image = imagecreatefromjpeg($base_url); 

//Copy Image Object To File 
imagejpeg($src_image, $ImageName, 100); 

答えて

0

技術的には、変換の品質率はそれだけのサイズと品質の間 を作るトレードオフコンバータに指示ではなく、誘導 からJPEGデータです。

一部のコンバータは はとてもそれがまだ存在している場合は、それにexif_read_dataと を使用することができますし、圧縮情報が返されるかどうかを確認、しかしJPEGヘッダのEXIFデータに格納します。

Source

0

は品質が低下しようと例えば80を設定します。あなたが何も設定しない場合、品質はまだOKです。

ので、このように置く:

imagejpeg($src_image, $ImageName, 80); 
+0

のための小さな画像を作成します。私は、これはOPの心ではないと思います。彼は元のイメージとは何か異なる100%品質を尋ねたいと思っています。 –

0

私はあなたが元の画像のように、すべてのピクセルを維持したい場合は、この場合には、このImageCopyResampledを試すことができると思います。それはimagejpegよりも遅いが良い。

imagejpegを使用して画像の品質についてquailityプロパティは、保存または作成された出力画像に適用するjpeg圧縮の量を表します。

0%品質は最大圧縮を意味し、100%品質は最小圧縮を意味します。

適用する圧縮が多いほど、元の圧縮されていないファイルサイズに比べて出力ファイルのサイズが小さくなります。

0

ただ、画質パラメータを除外:

imagejpeg($src_image, $ImageName); 

GDが自動的

関連する問題