La guida o il codice che troverai in questo articolo è la soluzione più rapida ed efficace che abbiamo trovato a questa domanda o dilemma.
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. |
Qui puoi vedere le recensioni e le valutazioni degli utenti
Se ti piace l'argomento, puoi lasciare una divisione su cosa aggiungeresti a questa cronaca.