スポンサーサイト

一定期間更新がないため広告を表示しています

at , スポンサードリンク, -

-, -, pookmark

画像リサイズ(GIFとJPG)

JPEGの場合は
 $im2 = imagecreatefromjpeg (画像ファイルへのパス);
GIFの場合は
 $im2 = imagecreatefromgif(画像ファイルへのパス);

片方しか知らなかった・・・

それぞれ、指定した filename から新規画像を生成する。指定された画像をあらわす画像 ID を返す。
エラーの場合、空の文字列を返す。

あとは「画像処理関連」の記事を参照。
画像タイプの判定はgetimagesize関数の記事を参照。



at 17:55, morinoshima, 画像処理関連(php)

comments(0), trackbacks(0), pookmark

getimagesize関数

 引数にパスを指定した画像ファイルの情報を配列で返す

$size = getimagesize($gazou_data);

 $width = $size[0];  //幅
 $height = $size[1];  //高さ
 $ext = $size[2];    //拡張子

こんな感じで。

ちなみに拡張子はIMAGETYPE定数に対応している(1:GIF、2:JPG、3:PNG・・・)
キー3はhtmlタグ内に記述できるようなテキストが返ってくる(width="120" height="80")

at 17:49, morinoshima, 画像処理関連(php)

comments(0), trackbacks(0), pookmark

画像処理関連

 まず画像リサイズのfunction丸ごと
//---------------------*
//画像リサイズ保存
//---------------------*
function gazo_resize($gazou_data, $width_limit){
 require( "../aaaa/class.inc"); //db接続他
 $size = getimagesize($gazou_data);
 $width_up = $size[0];
 $height_up = $size[1];
 
 //画像サイズが大きい場合、リサイズ(widthを$width_limitへ)
 if($width_up > $width_limit){
  //自動縮小
  $im2 = imagecreatefromjpeg ($gazou_data);
  $wx = ImageSX($im2); //横サイズ
  $wy = ImageSY($im2); //縦サイズ
  
  //縮小率
  $width_S = $width_limit;
  $ritsu =  $width_S / $wx;
  $height_S = round($wy * $ritsu);
  $im = ImageCreateTrueColor($width_S, $height_S );
  /*
  if( $width_up > $height_up ){
   $width_S = $width_limit;
   $ritsu =  $width_S / $wx;
   $height_S = round($wy * $ritsu);
   $im = ImageCreateTrueColor($width_S, $height_S );
  }else{
   $height_S = $width_limit;
   $ritsu =  $height_S / $wy;
   $width_S = round($wx * $ritsu);
   $im = ImageCreateTrueColor($width_S, $height_S );
  }
  */
  
  ImageCopyResampled ($im, $im2, 0, 0 , 0, 0, $width_S, $height_S, $wx, $wy );
  imagejpeg($im, $gazou_data, 100 ); //引数3は0〜100、仕上りの精度
 }
 return true;
}


if( $gazou != ""  ){
 //ファイル削除
 if( file_exists( "..".$PHOTO_GAZOU.$event_no."/".$log_no.".jpg" ) ){
  unlink ( "..".$PHOTO_GAZOU.$event_no."/".$log_no.".jpg" );
 }
 
 //フォルダ存在確認
 if(is_dir("..".$PHOTO_GAZOU.$event_no)==false){
  //フォルダ作成
  $newfold = "..".$PHOTO_GAZOU.$event_no;
  umask(0);
  $di = mkdir($newfold, 0755);  //パーミッションの変更一般的には0755
 }
 
 //ファイルコピー
 if(copy($gazou, "..".$PHOTO_GAZOU.$event_no."/".$log_no.".jpg")){
  $UPLOAD_CHK="アップロード完了";
 }else{
  $UPLOAD_CHK="アップロード失敗";
 }
}

//----画像権限更新----
if( file_exists( "..".$PHOTO_GAZOU.$event_no."/".$log_no.".jpg" ) ){
 chmod ( "..".$PHOTO_GAZOU.$event_no."/".$log_no.".jpg",0666 );
}

これだけあれば大丈夫かと・・・

at 14:04, morinoshima, 画像処理関連(php)

comments(0), trackbacks(0), pookmark