0

私の脳には解決できない問題があります。つまり、if-else条件の作成です。960x540は「1」の値を取得する値であり、すべての値はこれよりも小さくなります(たとえば800x480)。値「1」を再度取得します。同様の状況540x960(480x800など、番号が小さい降順)。960x540の数値の値が片側から増加する場合(たとえば、1000x540または960x600)、「2」を入力します。 「1」の代わりに変数...問題を明確に説明できたと思います。たとえば960x540を掛けると、全体的な値を掛けて、作業しやすくするようにアドバイスされました。しかし、問題は私が携帯電話の画面解像度で作業しているという事実にあり、低解像度のデスクトップを忘れているという理由で適切ではありません、

4

2 に答える 2

1

あなたの要求をより明確に説明しようとします。(すべてが正しいかどうかわからないため、質問を編集しませんでした)

  • 960x540 => 1

小さい値 => 1

  • 800×480

より大きい値 (各次元) => 2

  • 1000×540
  • 960×600

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 に答える