イメージをアップロードして、Imagine を使用して、最大幅 200 ピクセルまたは高さ 200 ピクセルに拡大しようとしています。
私はこのリンクを読みました:それが言う場所を想像してください:
サムネイルのサイズの 1 つが null に設定されている場合、別のサイズは元の画像の縦横比に基づいて自動的に計算されます。
このコードを試して幅を変更しました:
Image::thumbnail($target, 200, null)->save($target_to);
エラーが発生しました: Exception Imagine\Exception\InvalidArgumentException with message Length side cannot be 0 or negative.
また、背景が透明なpngファイルをアップロードしようとしています。同じリンクを見ると、次のように書かれています。
サムネイル モードが ImageInterface::THUMBNAIL_INSET の場合、元の画像は縮小され、サムネイルのサイズに完全に収まります。残りは、yii\imagine\Image::$thumbnailBackgroundColor および yii\imagine\Image::$thumbnailBackgroundAlpha を介して構成できる背景で埋められます。
彼らが提供するリンクを見ると、それは満たされると言っています:
$thumbnailBackgroundAlpha パブリック静的プロパティ (バージョン 2.0.4 以降で使用可能) 幅と高さの両方が指定された ImageInterface::THUMBNAIL_INSET モードでサムネイルを作成するときに使用する背景アルファ (透明度)。デフォルトは固体です。public static string $thumbnailBackgroundAlpha = 100 $thumbnailBackgroundColor public static プロパティ (バージョン 2.0.4 以降で使用可能) 幅と高さの両方が指定された ImageInterface::THUMBNAIL_INSET モードでサムネイルを作成するときに使用する背景色。デフォルトは白です。public static string $thumbnailBackgroundColor = 'FFF'
2 つの質問があります。
これは透明な背景を維持しますか?public static string $thumbnailBackgroundAlpha = 100 $thumbnailBackgroundColor public static プロパティ (バージョン 2.0.4 以降で利用可能)
幅と高さを指定したくないので、それに応じて画像のサイズが変更されます。それ、どうやったら出来るの?