Skip to content

$image.resize

Description

Redimensionne une image.

Syntaxe

$image.resize( image , width , height [ , options ] )

Paramètres

image file / string
Image à redimensionner. L'image peut être passée sous forme de file ou de path (string).
width number
Nouvelle largeur de l'image. Il est possible de laisser ce paramètre vide, à condition que height soit renseigné. Dans ce cas, la méthode calcule la nouvelle largeur automatiquement de façon à conserver le ratio de l'image.
height number
Nouvelle hauteur de l'image. Il est possible de laisser ce paramètre vide, à condition que width soit renseigné. Dans ce cas, la méthode calcule la nouvelle hauteur automatiquement de façon à conserver le ratio de l'image.
options map

Map d'options. Les options reconnues sont:

saveAs file / string
Indique le fichier de destination sur lequel enregistrer l'image en sortie
format string

Format d'image en sortie. La méthode supporte les formats d'image standard (png, jpg, bmp, etc.). La liste peut varier en fonction de l'implémentation java utilisée.

En l'absence de valeur, la méthode reprend le format de l'image source.

interpolation string
Méthode d'interpolation. Les valeurs supportées sont nearestNeighbor, bilinear ou bicubic. En l'absence de l'une de ces valeurs, aucune interpolation n'est appliquée.
mode string

Mode de redimensionnement. Cette propriété permet de spécifier les valeurs suivantes:

bbox (ou meet)

Les termes bbox et meet sont synonymes dans le contexte de la méthode $image.resize. Dans ce mode, les valeurs width et height sont interprétées comme la taille d'une bounding box dans laquelle l'image redimensionnée doit pouvoir s'afficher entièrement (et avec le même rapport d'échelle).

Par exemple, pour une image de 1000x500 pixels, le fait de l'adapter à une bounding box de taille 500x1000 aura pour effet de générer une image finale de taille 500x250 (voir 2e exemple ci-dessous).

unit string

Unité des dimensions width et height données en paramètre.

Les valeurs reconnues sont:

pixel
Indique que les dimensions sont données en pixels. C'est l'unité par défaut
percent
Indique que les dimensions sont données en pourcents (où 100 désigne la dimension d'origine). Cette unité correspond à ratio, moyennant un facteur 100.
ratio
Indique que les dimensions sont données sous forme de rapport (où 1 désigne la dimension d'origine). Cette unité correspond à percent, moyennant un facteur 1/100.

Retour

Retourne true si l'opération réussit. En cas d'échec, la méthode retourne false et une erreur est transmise au processeur.

Exemple

Exemple de redimensionnement avec calcul automatique de la hauteur. Génère une image de 200x130 pixels.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
var source = $file.load("C:/Temp/sample.jpg");
var dest = $file.load("C:/Temp/out.jpg");

if ($image.resize(source, 200, null, { saveAs: dest })) {
    var dim = $image.getDimensions(dest);
    $logger.info("OK -> " & dim.width & "x" & dim.height);
}
else {
    $logger.error("FAILED");
}

Exemple de redimensionnement en mode bounding box. Ici la bounding box reprend les dimensions, mais en mode inversé (width devient height et height devient width). Pour pouvoir passer dans la bounding box tout en conservant les proportions d'échelle, l'image doit donc être redimensionnée en 500x250 pixels.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
if ($image.resize("C:/Temp/1000x500.png",
                  500, 1000,
                  { saveAs: dest,
                    mode: "bbox" })) {
    var dim = $image.getDimensions(dest);
    $logger.info("OK -> " & dim.width & "x" & dim.height);
}
else {
    $logger.error("FAILED");
}

Exemple de redimensionnement avec l'unité ratio. Génère une image de 500x250 pixels.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
if ($image.resize("C:/Temp/1000x500.png",
                  0.5, null,
                  { saveAs: dest,
                    unit: "ratio" })) {
    var dim = $image.getDimensions(dest);
    $logger.info("OK -> " & dim.width & "x" & dim.height);
}
else {
    $logger.error("FAILED");
}