2012-04-24 9 views
2

こんにちは私はaurigmaと呼ばれるJavaベースの画像アップローダーを使用しており、PHPコードを使用して設定しています。aurigma条件付きサイズ変更

幅や高さに設定できるサイズ変更オプションがあります。

私が言うのチェックをしたい:

If ((image I am uploading width) > (image I am uploading height)){ 
    $converter->setThumbnailFitMode("Width"); 
}else{ 
    $converter->setThumbnailFitMode("Height"); 
} 

は、どのように私は私がaurigmaにアップロードしていたファイルのサイズを確認し、これに基づいて条件を設定してください。すなわち

+0

素晴らしいですね。 – madflow

+0

私の質問を編集しました。うまくいけば、これは今より意味がありますか? – jaget

答えて

0

http://php.net/manual/en/book.image.phpをご覧ください。 (スクリプト

uploader = new Uploader('Uploader1'); 
    ... 
    $uploader->getClientEvents()->setBeforeUpload("BeforeUpload"); 
    $uploader->getClientEvents()->setBeforePackageUpload("BeforePackageUpload"); 
    ... 

が続いJavascriptのブロック内のイベントのコードを実装:1.BeforeUploadと2 BeforePackageUpload:あなたは、ランタイムでのコンバータを設定する必要がある場合

1

次の2つの余分なaurigmaアップローダーのイベントを設定する必要がありますtype = "text/javascript")。

アップロードペインに追加されたすべての画像の幅と高さを取得し、これらの値を配列に配置する必要があります。 BeforePackageUploadでは、各ファイルの幅と高さの値を取って、それらを比較して必要なコンバータフィットモードを設定する必要があります:

//set new arrays 
var widths = []; 
var heights = []; 

function BeforeUpload() { 
    var uploader = $au.uploader('Uploader1'); 
    count = uploader.files().count(); 
    for (i = 0; i < count; i++) { 
    widths[i] = uploader.files().get(i).width(); 
    heights[i] = uploader.files().get(i).height(); 
    } 
} 

function BeforePackageUpload(index) { 
    var uploader = $au.uploader('Uploader1'); 
    if (widths.shift() > heights.shift()) { 
    uploader.converters([{ 
     mode: '*.*=Thumbnail', 
     thumbnailFitMode: 'Width', 
     thumbnailWidth: 500, 
     thumbnailHeight: 300, 
     thumbnailJpegQuality: 100 
    }]); 
    } 

    else 
    { 
    uploader.converters([{ 
     mode: '*.*=Thumbnail', 
     thumbnailFitMode: 'Height', 
     thumbnailWidth: 300, 
     thumbnailHeight: 500, 
     thumbnailJpegQuality: 100 
    }]); 
    } 
}