2

イメージをアップロードして、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 つの質問があります。

  1. これは透明な背景を維持しますか?public static string $thumbnailBackgroundAlpha = 100 $thumbnailBackgroundColor public static プロパティ (バージョン 2.0.4 以降で利用可能)

  2. 幅と高さを指定したくないので、それに応じて画像のサイズが変更されます。それ、どうやったら出来るの?

4

1 に答える 1