【问题标题】:PHP - Process vertical image take from iPhonePHP - 处理从 iPhone 获取的垂直图像
【发布时间】:2017-04-07 17:29:56
【问题描述】:

我创建了一个网站来拍照,它转换为正方形并与其他图像合并。该网站运行良好,但我有一个问题,一个大问题。

从 iPhone 拍摄的垂直照片实际上是水平的。然后当它转换并合并图像时显示错误的旋转:(

例如:iPhone 拍摄垂直照片:

真的是垂直照片是:

当我从 mac 打开时,这张照片显示正常,但从另一个平台(win 或 linux)打开时显示为水平。为此,我认为这些图像包含任何可以识别它的数据。

php代码是这样的:(我认为代码是正确的,只需要放任何指令来识别方向)

<?php
          $file = $_FILES['image1']['name'];

          list($x, $y) = getimagesize($file);

          echo "MEDIDAS";
          echo "<br>";
          echo "x: ".$x;
          echo "<br>";
          echo "y: ".$y;
          echo "<br>";


          // horizontal rectangle
          if ($x > $y) {
              $square = $y;              // $square: square side length
              $offsetX = ($x - $y) / 2;  // x offset based on the rectangle
              $offsetY = 0;              // y offset based on the rectangle
              $grados = 270;
              echo "Horizontal rectangle";
          }
          // vertical rectangle
          elseif ($y > $x) {
              $square = $x;
              $offsetX = 0;
              $offsetY = ($y - $x) / 2;
              $grados = 270;
              echo "Vertical rectangle";
          }
          // it's already a square
          else {
              $square = $x;
              $offsetX = $offsetY = 0;
              $grados = 0;
              echo "Cuadrat";
          }

?>

对不起,这个问题很难解释。

你能帮帮我吗?

【问题讨论】:

    标签: php ios iphone image


    【解决方案1】:

    方向存储在 exif 数据中。您应该从图像中提取该信息并相应地旋转该图像。在这里你可以找到some code that might help you。 在这里你可以找到exif orientation values and their meanings

    【讨论】:

    • 非常感谢@Martin Cup。我会试试的;)
    猜你喜欢
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 2013-01-08
    • 2011-08-06
    • 1970-01-01
    • 2020-07-22
    相关资源
    最近更新 更多