Skip to main content

画像フィルター

images 名前空間は、フィルターおよびその他の画像関連関数のリストを提供します。

これらのフィルターを画像に適用する方法については、images.Filter を参照してください。

Overlay

Overlay は、元画像を x y の位置でオーバーレイするフィルタを作成します。たとえば、以下のとおりです。

{{ $logoFilter := (images.Overlay $logo 50 50 ) }}
{{ $img := $img | images.Filter $logoFilter }}

フィルターを 1 回だけ適用する必要がある場合は、上記の短縮版の以下を使用します。

{{ $img := $img.Filter (images.Overlay $logo 50 50 )}}

上記は、$img の左上隅 (x=50, y=50 の位置) に $logo をオーバーレイ表示します。

Text

Text フィルターを使用すると、画像にテキストを追加できます。

以下の例では、指定した色、サイズ、位置の画像に、テキスト Hugo rocks! を追加します。

{{ $img := resources.Get "/images/background.png" }}
{{ $img = $img.Filter (images.Text "Hugo rocks!" (dict
    "color" "#ffffff"
    "size" 60
    "linespacing" 2
    "x" 10
    "y" 20
))}}

必要に応じて、カスタムフォントをロードすることができます。 フォントを Hugo の Resource としてロードし、オプションとして設定します。


{{ $font := resources.GetRemote "https://github.com/google/fonts/raw/main/apache/roboto/static/Roboto-Black.ttf" }}
{{ $img := resources.Get "/images/background.png" }}
{{ $img = $img.Filter (images.Text "Hugo rocks!" (dict
    "font" $font
))}}

Brightness

Brightness は、画像の明るさを変更するフィルターを作成します。 パーセント パラメーターは範囲内 (-100、100) である必要があります。

ColorBalance

ColorBalance は、画像のカラー バランスを変更するフィルターを作成します。 各カラー チャネル (赤、緑、青) のパーセント パラメーターは、範囲 (-100、500) である必要があります。

Colorize

Colorize は、画像をカラー化するフィルターを作成します。 hue パラメーターはカラーホイール上の角度で、通常は (0, 360) の範囲です。 saturation パラメーターは、範囲 (0、100) でなければなりません。 パーセント パラメーターは効果の強さを指定し、範囲(0、100)である必要があります。

Contrast

Contrast は、画像のコントラストを変更するフィルターを作成します。 パーセントパラメーターは、範囲 (-100、100) である必要があります。

Gamma

Gamma (ガンマ) は、画像にガンマ補正を行うフィルターを作成します。 ガンマ パラメータは正でなければなりません。 ガンマ = 1 で元の画像が得られます。 ガンマが 1 未満の場合はイメージが暗くなり、ガンマが 1 より大きい場合はイメージが明るくなります。

GaussianBlur

GaussianBlur (ガウスぼかし) は、画像にガウスぼかしを適用するフィルターを作成します。

Grayscale

Grayscale (グレースケール) は、画像のグレースケール版を生成するフィルターを作成します。

Hue

Hue (色相) は、画像の色相を回転させるフィルターを作成します。 色相角の変化は、通常 -180 〜 180 の範囲です。

Invert

Invert (反転) は、画像の色を反転させるフィルターを作成します。

Pixelate

Pixelate (ピクセル化効果) は、画像にピクセル化効果を適用するフィルターを作成します。

Saturation

Saturation (彩度) は、画像の彩度を変更するフィルターを作成します。

Sepia

Sepia (セピア) は、画像をセピア調にするフィルターを作成します。

Sigmoid

Sigmoid (シグモイド) は、シグモイド関数を用いて画像のコントラストを変更し、調整後の画像を返すフィルターを作成します。 非線形にコントラストを変化させるので、ハイライトやシャドーの詳細を保持することができ、写真の調整に便利です。

UnsharpMask

UnsharpMask は、画像をシャープにするフィルターを作成します。 Sigma (シグマ) パラメータはガウス関数で使用され、効果の半径に影響します。 Sigma は正でなければなりません。 シャープの半径は、おおよそ 3 * Sigma に等しくなります。 amount パラメーターは、エッジの境界線がどれだけ暗くなり、どれだけ明るくなるかを制御します。 通常は 0.5 から 1.5 の間です。 threshold (しきい値) パラメータは、シャープ化される明るさの最小変化を制御します。 通常は 0 から 0.05 の間です。

その他の関数

Filter

上記のコードは、画像に一連のフィルターを適用するために使用できます。

{{ $img := $img | images.Filter (images.GaussianBlur 6) (images.Pixelate 8) }}

フィルターメソッド も参照してください。

ImageConfig

画像を解析し、高さ、幅、およびカラーモデルを返します。

imageConfig 関数は 1 つのパラメータとして、 プロジェクトのルートディレクトリ からの相対パス (文字列) を受け取ります (最初のスラッシュはあってもなくても構いません)。

{{ with (imageConfig "favicon.ico") }}
favicon.ico: {{ .Width }} x {{ .Height }}
{{ end }}