とりあえず映像乞食の俺ですが、編集とかプチ加工の仕事が捗るPHPコードを置いておきますね。
コーデックはいらないけどGDライブラリは必要です。
/*
======================================================================
画像リサイズ
======================================================================
$size:リサイズ後の最大縦横の値
$moto:元画像
$ato:リサイズ画像
$tmp:一時ファイルを置くdir
*/
function make_img($size,$moto,$ato,$tmp){
$J_q=70;//JPEGクオリチー
$tmp_dir=$tmp;
$naka_img=$tmp_dir.time();
$TY_size=$size;
list($width,$height,$type,$attr)=getimagesize($moto);
$ty_size=$width-$height;
if($type==2){//ここからJPEG処理
$image=ImageCreateFromJPEG($moto);
$width=ImageSX($image);
$height=ImageSY($image);
if($width>=$height){
$new_width=$TY_size;
$rate=$new_width/$width;
$new_height=$rate*$height;
}else{
$new_height=$TY_size;
$rate=$new_height/$height;
$new_width=$rate*$width;
}
$new_image=ImageCreateTrueColor($new_width,$new_height);
ImageCopyResampled($new_image,$image,0,0,0,0,$new_width,$new_height,$width,$height);
ImageJPEG($new_image,$naka_img,$J_q);
rename($naka_img,$ato);
chmod($ato,0666);
ImageDestroy($image);
ImageDestroy($new_image);
}elseif($type==1){//ここからGIF処理
$image=ImageCreateFromGIF($moto);
$width=ImageSX($image);
$height=ImageSY($image);
if($width>=$height){
$new_width=$TY_size;
$rate=$new_width/$width;
$new_height=$rate*$height;
}else{
$new_height=$TY_size;
$rate=$new_height/$height;
$new_width=$rate*$width;
}
$new_image=ImageCreateTrueColor($new_width,$new_height);
$alpha=imagecolortransparent($image);
imagefill($new_image,0,0,$alpha);
imagecolortransparent($new_image,$alpha);
ImageCopyResampled($new_image,$image,0,0,0,0,$new_width,$new_height,$width,$height);
ImageGIF($new_image,$naka_img);
rename($naka_img,$ato);
chmod($ato,0666);
ImageDestroy($image);
ImageDestroy($new_image);
}elseif($type==3){//ここからPNG処理
$image=ImageCreateFromPNG($moto);
$width=ImageSX($image);
$height=ImageSY($image);
if($width>=$height){
$new_width=$TY_size;
$rate=$new_width/$width;
$new_height=$rate*$height;
}else{
$new_height=$TY_size;
$rate=$new_height/$height;
$new_width=$rate*$width;
}
$new_image=ImageCreateTrueColor($new_width,$new_height);
imagealphablending($new_image,false);
imagesavealpha($new_image,true);
ImageCopyResampled($new_image,$image,0,0,0,0,$new_width,$new_height,$width,$height);
ImagePNG($new_image,$naka_img);
rename($naka_img,$ato);
chmod($ato,0666);
ImageDestroy($image);
ImageDestroy($new_image);
}else{
returnFALSE;
}
}
使い方はだいたいわかると思うけど、とりあえずAEを終了してコードエディタを開きます。
んでおもむろにコードをコピペします。
終わり。
なわけではなくて、PHPで画像のリサイズするナンチャッテ関数です。
JPEGとGIFとPNGに対応してます。
でも画像形式の変更はできません。元画像がJPEGならリサイズされた画像もJPEGになります。
「$size」はリサイズ後の長方のピクセル数です。
縦横長い方に合わせた比率になります。
「$moto」はリサイズする元画像です。
「$ato」はリサイズ後の画像です。
「$tmp」変換作業で使う一時ファイルを置くディレクトリです。
こんな感じ
$size = '200'; $moto = '/hoge/gazou.jpg'; $ato = '/moge/gazou_s.jpg'; $tmp = '/hoge/tmp/'; make_img($size,$moto,$ato,$tmp);
これで「moge」というディレクトリに「gazou_s.jpg」ってファイルがでけてるハズです。
そんなに便利じゃないしガキがコピペで書いたようなモノです。
実際に使ってへんなコトになっても俺知らねーし。
死んでも知らんし。
そんな感じ。