辅助函数,用于测试两个图像的宽高比是否匹配。

原型

wp_image_matches_ratio( int $source_width, int $source_height, int $target_width, int $target_height )

参数

$source_width (int) (Required) 第一个图像的宽度(以像素为单位)。

$source_height (int) (Required) 第一个图像的高度(以像素为单位)。

$target_width (int) (Required) 第二个图像的宽度(以像素为单位)。

$target_height (int) (Required) 第二个图像的高度(以像素为单位)。

返回值

(bool)  如果宽高比在1px内匹配,则为真。如果没有,则为假。

源文件

路径:wp-includes/media.php

<?php
...
function wp_image_matches_ratio( $source_width, $source_height, $target_width, $target_height ) {
	/*
	 * To test for varying crops, we constrain the dimensions of the larger image
	 * to the dimensions of the smaller image and see if they match.
	 */
	if ( $source_width > $target_width ) {
		$constrained_size = wp_constrain_dimensions( $source_width, $source_height, $target_width );
		$expected_size = array( $target_width, $target_height );
	} else {
		$constrained_size = wp_constrain_dimensions( $target_width, $target_height, $source_width );
		$expected_size = array( $source_width, $source_height );
	}
	// If the image dimensions are within 1px of the expected size, we consider it a match.
	$matched = ( abs( $constrained_size[0] - $expected_size[0] ) <= 1 && abs( $constrained_size[1] - $expected_size[1] ) <= 1 );
	return $matched;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_image_matches_ratio/