有一个我的大脑我解决不了的问题,即if-else条件的创建:960x540是我们获得值“1”的值,所有小于这个的值(例如800x480)再次获取值“1”,类似情况540x960(480x800等以递减数字较小的顺序),如果960x540的数字的值从一侧增加(例如1000x540或960x600),则在中给“2”一个变量而不是“1”......我希望我已经清楚地描述了这个问题。有人建议我将例如 960x540 和一个整体值相乘,使其更易于使用。但问题在于我使用手机的屏幕分辨率工作,不适合因为我们忘记了分辨率低的桌面,
问问题
259 次
2 回答
1
我会尝试更清楚地解释您的要求。(我没有编辑你的问题,因为我不确定我是否做对了)
- 960x540 => 1
较小的值 => 1
- 800x480
更大的值(每个维度)=> 2
- 1000x540
- 960x600
您必须同时查看 x 和 y 分辨率并确定结果。不要试图检查特定的分辨率,因为这会得到一个非常复杂的情况。
- 提取 x 和 y(宽度和高度)。
- 分别测试它们。
您的 if 语句应如下所示:
if ($x > 960 || $y > 540)
$result = 2;
else
$result = 1;
于 2012-04-28T12:07:16.850 回答
0
您可能对以下数学感兴趣:
通过传递视频的宽度,您可以获得高度的比率 (4:3):
$height = round(floor($width/1.330),-1);
您可以将 (16:9) 的 1.330 更改为 1.770
循环并添加 160 的示例:
$i=160;
while($i<=1024){
$height = round(floor($i/1.330),-1);
$ratios[]=array('width'=>$i,'height'=>$height);
$i=($i+160);
}
print_r($ratios);
/*
Array
(
[0] => Array
(
[width] => 160
[height] => 120
)
[1] => Array
(
[width] => 320
[height] => 240
)
[2] => Array
(
[width] => 480
[height] => 360
)
[3] => Array
(
[width] => 640
[height] => 480
)
[4] => Array
(
[width] => 800
[height] => 600
)
[5] => Array
(
[width] => 960
[height] => 720
)
)
*/
希望它有一些兴趣。
于 2012-04-28T12:22:16.377 回答