imagecopyresampled
    (PHP 4 >= 4.0.6, PHP 5)
imagecopyresampled -- 
    再サンプリングを行いイメージの一部をコピー、伸縮する
   
説明
bool 
imagecopyresampled ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
    imagecopyresampled() は、イメージの矩形の部分
    を別のイメージにコピーします。同時にピクセル値を滑らかに補間を行
    い、このため、特にサイズを小さくした場合には鮮明さが維持されます。
    成功した場合に TRUE を、失敗した場合に FALSE を返します。
   
    dst_im は、コピー先のイメージで、
    src_im はコピー元のイメージIDです。コピー
    元とコピー先の座標、幅、高さが異なる場合には、適当なイメージ伸縮
    が行われます。座標は、左上を基準とします。この関数は、同じイメー
    ジ内の領域にコピーする場合にも使用可能です。
    (dst_imageが src_imageと
    同じ場合。)しかし、領域が重なる場合の結果は予測できません。
   
    imagecopyresized()も参照ください。
   
注意: 
     パレットイメージの制限(255+1色)による問題があります。
     カラーの再サンプリングやフィルタリングには通常は255色以上の色が
     必要となります。再サンプルするピクセルとその色を計算するために
     ある種の近似計算が使用されます。パレットに新しい色を割り当てよう
     として失敗すると、(理論的に)最も近い色が選択されます。
     それは必ずしも常に可視色とは限りません。そのため、
     空白(あるいは不可視な)といった不可思議な結果がもたらされます。
     この問題を回避するには、imagecreatetruecolor()で
     生成されるようなTrueカラーイメージを目的のイメージとして
     使用してください。
    
注意: この関数は、GD 2.0.1 以降を必要とします (2.0.28 以降を推奨します)。
例
    
例 1. 簡単なサンプル 
      この例は、イメージをオリジナルの半分のサイズに再サンプルします。
      
<?php // ファイル $filename = 'test.jpg'; $percent = 0.5;
  // コンテントタイプ header('Content-type: image/jpeg');
  // 新規サイズを取得する list($width, $height) = getimagesize($filename); $new_width = $width * $percent; $new_height = $height * $percent;
  // 再サンプル $image_p = imagecreatetruecolor($new_width, $new_height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  // 出力 imagejpeg($image_p, null, 100); ?>
 |  
  | 
   
    
例 2. イメージを均等に再サンプルする 
      この例は最大の幅もしくは高さが 200 ピクセルのイメージを表示します。
      
<?php // ファイル $filename = 'test.jpg';
  // 最大の高さ・幅を設定する $width = 200; $height = 200;
  // コンテントタイプ header('Content-type: image/jpeg');
  // 新規サイズを取得する list($width_orig, $height_orig) = getimagesize($filename);
  $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, null, 100); ?>
 |  
  |