2

こんにちは、aurigma と呼ばれる Java ベースの画像アップローダを使用しており、php コードを使用して設定しています。

幅または高さに設定できるサイズ変更オプションがいくつかあります。

私が言うところをチェックしたい:

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

aurigma にアップロードしているファイル サイズを確認し、これに基づいて条件を設定するにはどうすればよいですか。すなわち

4

2 に答える 2

1

実行時にコンバーターを設定する必要がある場合は、aurigma アップローダーの 2 つの追加イベントを設定する必要があります: 1.BeforeUpload と 2.BeforePackageUpload:

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

次に、イベントのコードを Javascript ブロック (スクリプト タイプ = "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
    }]);
  }
}
于 2012-04-25T05:02:09.487 に答える
0

http://php.net/manual/en/book.image.phpをご覧ください。

于 2012-04-24T14:46:24.067 に答える