Calcola le nuove dimensioni di un'immagine sottoposta a campionamento.

Descrizione

Se la larghezza o l'altezza sono vuote, non viene applicato alcun vincolo a quella dimensione.

Parametri

$larghezza_corrente

(int)(Richiesto)Larghezza attuale dell'immagine.

$altezza_corrente

(int)(Richiesto)Altezza corrente dell'immagine.

$larghezza_max

(int)(Opzionale) Larghezza massima in pixel a cui applicare il vincolo. Valore predefinito 0.

$altezza_max

(int)(Opzionale) Altezza massima in pixel a cui applicare il vincolo. Valore predefinito 0.

Ritorno

(int[]) Una matrice di valori di larghezza e altezza.

  • (int) La larghezza in pixel.
  • '1'
    (int) L'altezza in pixel.

Fonte

File: wp-includes/media.php

functionwp_constrain_dimensions($current_width,$current_height,$max_width=0,$max_height=0){if(!$max_width&&!$max_height){returnarray($current_width,$current_height);}$width_ratio=1.0;$height_ratio=1.0;$did_width=false;$did_height=false;if($max_width>0&&$current_width>0&&$current_width>$max_width){$width_ratio=$max_width/$current_width;$did_width=true;}if($max_height>0&&$current_height>0&&$current_height>$max_height){$height_ratio=$max_height/$current_height;$did_height=true;}// Calculate the larger/smaller ratios.$smaller_ratio=min($width_ratio,$height_ratio);$larger_ratio=max($width_ratio,$height_ratio);if((int)round($current_width*$larger_ratio)>$max_width||(int)round($current_height*$larger_ratio)>$max_height){// The larger ratio is too big. It would result in an overflow.$ratio=$smaller_ratio;}else{// The larger ratio fits, and is likely to be a more "snug" fit.$ratio=$larger_ratio;}// Very small dimensions may result in 0, 1 should be the minimum.$w=max(1,(int)round($current_width*$ratio));$h=max(1,(int)round($current_height*$ratio));/*
	 * Sometimes, due to rounding, we'll end up with a result like this:
	 * 465x700 in a 177x177 box is 117x176... a pixel short.
	 * We also have issues with recursive calls resulting in an ever-changing result.
	 * Constraining to the result of a constraint should yield the original result.
	 * Thus we look for dimensions that are one pixel shy of the max value and bump them up.
	 */// Note: $did_width means it is possible $smaller_ratio == $width_ratio.if($did_width&&$w===$max_width-1){$w=$max_width;// Round it up.}// Note: $did_height means it is possible $smaller_ratio == $height_ratio.if($did_height&&$h===$max_height-1){$h=$max_height;// Round it up.}/**
	 * Filters dimensions to constrain down-sampled images to.
	 *
	 * @since 4.1.0
	 *
	 * @param int[] $dimensions     {
	 *     An array of width and height values.
	 *
	 *     @type int $0 The width in pixels.
	 *     @type int $1 The height in pixels.
	 * }
	 * @param int   $current_width  The current width of the image.
	 * @param int   $current_height The current height of the image.
	 * @param int   $max_width      The maximum width permitted.
	 * @param int   $max_height     The maximum height permitted.
	 */returnapply_filters('wp_constrain_dimensions',array($w,$h),$current_width,$current_height,$max_width,$max_height);}

Correlato

Utilizzi

Usi Descrizione
wp-includes/media.php: wp_constrain_dimensions

Filtra le dimensioni a cui vincolare le immagini ricampionate.

wp-includes/plugin.php: applica_filtri()

Richiama le funzioni di callback che sono state aggiunte a un gancio per filtri.

Utilizzato da

Usato da Descrizione
wp-includes/media.php: wp_image_matches_ratio()

Funzione di aiuto per verificare se i rapporti di aspetto di due immagini corrispondono.

wp-admin/includes/deprecated.php: wp_shrink_dimensions()

Calcola le nuove dimensioni di un'immagine sottoposta a downsampling.

wp-admin/includes/deprecated.php: get_udims()

Calcola le nuove dimensioni di un'immagine sottoposta a downsampling.

wp-admin/includes/image-edit.php: wp_image_editor()

Carica l'interfaccia di WP per la modifica delle immagini.

wp-includes/media.php: wp_expand_dimensions()

In base a un esempio di larghezza/altezza fornito, restituisce le dimensioni più grandi possibili in base alla larghezza/altezza massima.

wp-includes/media.php: image_resize_dimensions()

Recupera le dimensioni calcolate per il ridimensionamento da usare in WP_Image_Editor.

wp-includes/media.php: image_constrain_size_for_editor()

Riduce le dimensioni predefinite di un'immagine.

Changelog

Versione Descrizione
2.5.0 Introdotto.