|
@@ -410,8 +410,9 @@ class PointsService
|
|
|
/**
|
|
/**
|
|
|
* 根据图片宽高归一化分辨率档位(1k/2k/4k)
|
|
* 根据图片宽高归一化分辨率档位(1k/2k/4k)
|
|
|
*
|
|
*
|
|
|
- * 2k 常见尺寸:2048x2048、1600x2848、2560x1440 等;
|
|
|
|
|
- * 4k:4096x4096、4992x3328、3040x5504 等;其余更小尺寸归为 1k。
|
|
|
|
|
|
|
+ * 按宽高乘积(面积)分档更准确:各档面积几乎成平方关系——
|
|
|
|
|
+ * 1k≈1MP(1024x1024)、2k≈4MP(2048x2048、1600x2848)、3k≈9MP(3072x3072、4096x2304)、4k≈16MP(4096x4096)。
|
|
|
|
|
+ * 目前没有 3k 计费档,3k 尺寸直接按 4k 计费。
|
|
|
*
|
|
*
|
|
|
* @param int $width
|
|
* @param int $width
|
|
|
* @param int $height
|
|
* @param int $height
|
|
@@ -422,15 +423,16 @@ class PointsService
|
|
|
if ($width <= 0 || $height <= 0) {
|
|
if ($width <= 0 || $height <= 0) {
|
|
|
return '2k';
|
|
return '2k';
|
|
|
}
|
|
}
|
|
|
- $maxDim = max($width, $height);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 面积分档:<2MP 视为 1k;2MP~6MP 视为 2k;≥6MP(含3k/4k尺寸)按 4k 计费
|
|
|
$area = $width * $height;
|
|
$area = $width * $height;
|
|
|
- if ($maxDim > 4096 || $area >= 4096 * 4096) {
|
|
|
|
|
- return '4k';
|
|
|
|
|
|
|
+ if ($area < 2048 * 1024) {
|
|
|
|
|
+ return '1k';
|
|
|
}
|
|
}
|
|
|
- if ($maxDim > 1536) {
|
|
|
|
|
|
|
+ if ($area < 2048 * 3072) {
|
|
|
return '2k';
|
|
return '2k';
|
|
|
}
|
|
}
|
|
|
- return '1k';
|
|
|
|
|
|
|
+ return '4k';
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|