2

アップロード時に画像のサイズを変更するにはどうすればよいですか?

関数が存在します: $image->resizeByWidth(width)

アップロードされた画像のサイズを変更するために実装できる場所はどこですか?

次のアップロードの例にどのように追加できますか。

class GalleryPage extends Page {

    private static $many_many = array(
        'GalleryImages' => 'Image'
    );

    function getCMSFields() {

        $fields = parent::getCMSFields();

        $fields->addFieldToTab(
            'Root.Upload', 
            $uploadField = new UploadField(
                $name = 'GalleryImages',
                $title = 'Upload one or more images (max 10 in total)'
            )  
        );
        $uploadField->setAllowedMaxFileNumber(10);

        return $fields;        
    }   

ありがとうございました

4

3 に答える 3

2

これは、CMS によって自動的に行われます。テンプレートで画像を使用するときは、サイズを伝えます。保存または公開するとすぐにサイズが変更されます (まだ変更されていない場合)。

于 2013-11-11T01:07:47.197 に答える
0

前に述べたように、SS 3 ではこのためのすぐに使える機能はありません。ただし、この mod はあなたが探しているソリューションを提供します:

最初に mod を root にインストールします。

次に、以下のコードをmysite/_config/config.ymlに記述して、画像のリサンプリング (サイズ変更) を有効にします。

Image:
  extensions:
    - ResampleImage

同じ config.yml ファイルに、最大解像度 (x = 幅、y = 高さ) を記述します。ユーザーがより大きな解像度の写真をアップロードすると、指定された最大解像度のサイズに収まるように (縦横比を維持して) 縮小されます。

ResampleImage:
  max_x: 2000
  max_y: 2000
于 2016-12-14T21:06:30.837 に答える