images.Process
Syntax
images.Process SPEC
Returns
images.filter
This filter has the same options as the Process
method on a Resource
object, but using it as a filter may be more effective if you need to apply multiple filters to an image.
The process specification is a space-delimited, case-insensitive list of one or more of the following in any sequence:
- action
- Specify zero or one of
crop
,fill
,fit
, orresize
. If you specify an action you must also provide dimensions. See details.
{{ $filter := images.Process "resize 300x" }}
- dimensions
- Required if you specify an action. Provide width or height when using
resize
, else provide both width and height. See details.
{{ $filter := images.Process "crop 200x200" }}
- anchor
- Use with the
crop
orfill
action. Specify zero or one ofTopLeft
,Top
,TopRight
,Left
,Center
,Right
,BottomLeft
,Bottom
,BottomRight
, orSmart
. Default isSmart
. See details.
{{ $filter := images.Process "crop 200x200 center" }}
- rotation
- Typically specify zero or one of
r90
,r180
, orr270
. Also supports arbitrary rotation angles. See details.
{{ $filter := images.Process "r90" }}
{{ $filter := images.Process "crop 200x200 center r90" }}
- target format
- Specify zero or one of
gif
,jpeg
,png
,tiff
, orwebp
. See details.
{{ $filter := images.Process "webp" }}
{{ $filter := images.Process "crop 200x200 center r90 webp" }}
- quality
- Applicable to JPEG and WebP images. Optionally specify
qN
whereN
is an integer in the range [0, 100]. Default is75
. See details.
{{ $filter := images.Process "q50" }}
{{ $filter := images.Process "crop 200x200 center r90 webp q50" }}
- hint
- Applicable to WebP images and equivalent to the
-preset
flag for thecwebp
encoder. Specify zero or one ofdrawing
,icon
,photo
,picture
, ortext
. Default isphoto
. See details.
{{ $filter := images.Process "webp" "icon" }}
{{ $filter := images.Process "crop 200x200 center r90 webp q50 icon" }}
- background color
- When converting a PNG or WebP with transparency to a format that does not support transparency, optionally specify a background color using a 3-digit or a 6-digit hexadecimal color code. Default is
#ffffff
(white). See details.
{{ $filter := images.Process "jpeg #000" }}
{{ $filter := images.Process "crop 200x200 center r90 q50 jpeg #000" }}
- resampling filter
- Typically specify zero or one of
Box
,Lanczos
,CatmullRom
,MitchellNetravali
,Linear
, orNearestNeighbor
. Other resampling filters are available. See details.
{{ $filter := images.Process "resize 300x lanczos" }}
{{ $filter := images.Process "resize 300x r90 q50 jpeg #000 lanczos" }}
Usage
Create a filter:
{{ $filter := images.Process "resize 256x q40 webp" }}
Apply the filter using the images.Filter
function:
{{ with resources.Get "images/original.jpg" }}
{{ with . | images.Filter $filter }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}
You can also apply the filter using the Filter
method on a Resource
object:
{{ with resources.Get "images/original.jpg" }}
{{ with .Filter $filter }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}
Example
Original
Processed