Script: Class dw.content.MediaFile
Class MediaFile
- Object
- dw.content.MediaFile
This class represents references to media content (such as images) located within Commerce Cloud Digital or on external systems.
Parameter transform
:
Some methods allow the specification of image transformation parameters. Image transformation is only performed if the Dynamic Imaging Service (DIS) is available for the Commerce Cloud Digital instance, otherwise a standard static content URL is returned. The to-be-transformed image needs to be hosted on Commerce Cloud Digital.
Image transformation parameters are specified as JavaScript object literal. They are translated into URL parameters. See Create Image Transformation URLs.
Type of transformation | Parameters | Description |
---|---|---|
Scale an image | scaleWidth | |
scaleHeight | ||
scaleMode | The scaleWidth and scaleHeight parameters are both integers; setting one of these parameters triggers a scaling operation. If both are provided, the one that scales the image less is used to calculate the scale factor. The image is then automatically cropped accord to the second dimension, with a centered position of the cropped area. If the parameter would scale the image larger, only this operation is applied, if the image remains within acceptable pixel dimensions. | |
Note: scaleMode can only be used in combination with scaleHeight and scaleWidth . |
The scaleMode
parameter can be set to cut
or fit
. The default scaleMode
is cut
, the behavior of which is explained above. If you specify fit
as the scaleMode
, the system scales the image into the given box of dimensions while keeping the aspect ratio (possibly resulting in a smaller image in one dimension).
| | Overlay an image | imageX
imageY
imageURI
| The imageX
and imageY
parameters are both integers. Valid values for these parameters are 0 or greater.
Supported formats are png
, jpg
, jp2
, and gif
.
The imageURI
parameter can be set to the absolute path of the overlaid image. The value of the imageURI
parameter must be given in proper URL encoding, and it cannot exceed 400 characters in length. The path may include query string parameters, which supports dynamically generating the overlaid image itself through this service; that is, the overlaid image can itself be a transformed image.
If the overlaid image extends over the primary image's boundaries, the overlaid image is cropped so that it fits directly over the primary image.
| | Crop an image | cropX
cropY
cropWidth
cropHeight
| The cropX
, cropY
, cropWidth
, cropHeight
parameters are integers. All four parameters must be specified to trigger a cropping operation.
Valid values for the cropX
and cropY
parameters are 0 or greater. If the crop location defined by cropX
and cropY
is outside the image area, nothing is cropped.
Valid values for the cropWidth
and cropHeight
parameters are 10 or greater. If the cropWidth
and cropHeight
parameters specify a size that is greater than the original image, the crop area is reduced to the actual image area. If cropWidth
and cropHeight
are 0 or less, no transformation is applied.
| | Format an image | format
| The format
parameter specifies the target format of image. Supported formats are png
, jpg
, jp2
, and gif
. If no target format is specified, no format conversion is performed.
The attribute value must reference the source image. Source image's format is recognized by the file extension which must be tif
, tiff
, jpg
, jpeg
, png
, or gif
.
In the generated URL the file extension of the target format is used in the URL path. This is to make sure the image is loaded from an URL with a matching file extension. The source format is provided as URL parameter.
| | Adjust image compression quality | quality
| The quality
parameter specifies a quality setting for jpg
and jp2
images, and specifies the compression level for png
images.
For jpg
and jp2
images, you can set values from 1–100 for the highest quality. The default quality is 80. If you're not changing the default quality, you don't need to pass in a value.
For png
images, the quality setting has no effect on the appearance of the png
, since the compression is always lossless. Instead you can use the quality setting to set the zlib compression level and filter-type for PNG images. The tens digit sets the zlib compression level(1-9). The ones digit sets the filter type.
If the png
setting is not present or set to 0, it uses a default value of 75. If this setting is set to 100, it actually equals the quality setting 90.
| | Adjust Metadata stripping | strip
| The strip
parameter specifies if metadata like EXIF and color profiles is stripped from the image during transformation.
Valid values for the strip
parameter are between true
and false
. The default is true
| | Change background color | bgcolor(color) or bgcolor(color+alpha)
| The bgcolor
parameter specifies the background color for images that support transparency as well as JPEG images when being converted from a format that supports transparency. Optionally, alpha setting for PNG images are also supported.
bgcolor
expects a 6 digit hexadecimal value of RGB with an optional two hexadecimal characters representing alpha value that determines transparency.
FF0000 = Red
FF000077 = Red with 50% transparency
Alpha values are optional. When the alpha value is omitted, the resulting color is opaque. Alpha values are only valid when the image output format is PNG.
|
Example:
The following code
var url = product.getImage('thumbnail', 0).getImageURL({scaleWidth: 100, format: 'jpg'});
will produce an image transformation URL like
http://<image server host name>/.../on/demandware.static/.../<path to image>/image.jpg?sw=100&sfrm=png
.
Properties
absURL : URL Read Only
An absolute URL to the referenced media file. The protocol for the reference is the current protocol of the current HTTP request.
alt : String Read Only
The alternative text assigned to the media file in current requests locale. If no alternative text was assigned or if no defaulting rule was defined, the method returns null.
httpsURL : URL Read Only
An absolute URL to the referenced media file. The protocol is https.
httpURL : URL Read Only
An absolute URL to the referenced media file. The protocol is http.
title : String Read Only
The title assigned to the media file in current requests locale. If no title was assigned or if no defaulting rule was defined, the method returns null.
url : URL Read Only
An URL to the referenced media file. The returned URL is a relative URL.
Deprecated:
Use getURL() instead.
URL : URL Read Only
An URL to the referenced media file. The returned URL is a relative URL.
viewType : String Read Only
The view type annotation for the media file. The method returns null, if the media file has no view type annotation.
Constructor Summary
This class does not have a constructor, so you cannot create it directly.
Method Summary
getAbsImageURL(transform : Object) : URL
Returns an URL to the referenced image file.
Returns an absolute URL to the referenced media file.
Returns the alternative text assigned to the media file in current requests locale.
getHttpImageURL(transform : Object) : URL
Returns an URL to the referenced image file.
getHttpsImageURL(transform : Object) : URL
Returns an URL to the referenced image file.
getHttpsURL() : URL
Returns an absolute URL to the referenced media file.
getHttpURL() : URL
Returns an absolute URL to the referenced media file.
getImageURL(transform : Object) : URL
Returns an URL to the referenced image file.
Returns the title assigned to the media file in current requests locale.
Returns an URL to the referenced media file.
Returns an URL to the referenced media file.
getViewType() : String
Returns the view type annotation for the media file.
Methods inherited from class Object
assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values
Method Detail
getAbsImageURL
getAbsImageURL(transform : Object) : URL
Returns an URL to the referenced image file. Image transformation can be applied to the image. The protocol for the reference is the current protocol of the current HTTP request. Image transformation can only be applied to images that are hosted on Commerce Cloud Digital.
Parameters:
transform - Object with transformation parameters (see class header)
Returns:
an absolute URL to the referenced media file. The protocol for the reference is the current protocol of the current HTTP request. If the referenced media file is hosted externally, an URL to the external file is returned.
getAbsURL
getAbsURL() : URL
Returns an absolute URL to the referenced media file. The protocol for the reference is the current protocol of the current HTTP request.
Returns:
an absolute URL to the referenced media file. The protocol for the reference is the current protocol of the current HTTP request.
getAlt
getAlt() : String
Returns the alternative text assigned to the media file in current requests locale. If no alternative text was assigned or if no defaulting rule was defined, the method returns null.
Returns:
the alternative text annotated to this media file or null
getHttpImageURL
getHttpImageURL(transform : Object) : URL
Returns an URL to the referenced image file. Image transformation can be applied to the image. The protocol is http. Image transformation can only be applied to images that are hosted on Commerce Cloud Digital.
Parameters:
transform - Object with transformation parameters (see class header)
Returns:
an absolute URL to the referenced media file. The protocol is http. If the referenced media file is hosted externally, an URL to the external file is returned.
getHttpsImageURL
getHttpsImageURL(transform : Object) : URL
Returns an URL to the referenced image file. Image transformation can be applied to the image. The protocol is https. Image transformation can only be applied to images that are hosted on Commerce Cloud Digital.
Parameters:
transform - Object with transformation parameters (see class header)
Returns:
an absolute URL to the referenced media file. The protocol is https. If the referenced media file is hosted externally, an URL to the external file is returned.
getHttpsURL
getHttpsURL() : URL
Returns an absolute URL to the referenced media file. The protocol is https.
Returns:
an absolute URL to the referenced media file. The protocol is https.
getHttpURL
getHttpURL() : URL
Returns an absolute URL to the referenced media file. The protocol is http.
Returns:
an absolute URL to the referenced media file. The protocol is http.
getImageURL
getImageURL(transform : Object) : URL
Returns an URL to the referenced image file. Image transformation can be applied to the image. Image transformation can only be applied to images that are hosted on Commerce Cloud Digital.
Parameters:
transform - Object with transformation parameters (see class header)
Returns:
an URL to the referenced media file. The returned URL is a relative URL. If the referenced media file is hosted externally, an URL to the external file is returned.
getTitle
getTitle() : String
Returns the title assigned to the media file in current requests locale. If no title was assigned or if no defaulting rule was defined, the method returns null.
Returns:
the title annotated to this media file or null
getUrl
getUrl() : URL
Returns an URL to the referenced media file. The returned URL is a relative URL.
Deprecated:
Use getURL() instead.
Returns:
an URL to the referenced media file. The returned URL is a relative URL.
getURL
getURL() : URL
Returns an URL to the referenced media file. The returned URL is a relative URL.
Returns:
an URL to the referenced media file. The returned URL is a relative URL.
getViewType
getViewType() : String
Returns the view type annotation for the media file. The method returns null, if the media file has no view type annotation.
Returns:
the view type annotated to this media file or null