0

それで、私はこれで2日間頭がおかしくなりました。Drupal 7 で構築したサイトがあります。

私が抱えている問題は、サイトのユーザーが iPhone または iPad から画像をアップロードすると (ckeditor とフォームを介してアップロードされたアカウント プロファイル画像の両方を介して)、画像が逆さまになってしまうことです。

画像のexifデータを読み取り、奇妙な問題に気付いたときに問題を検出するために、独立したphpを作成するところまで行きました。drupal にない場合、画像には exif 情報がありますが、drupal にアップロードすると、exif 情報が失われるようです。

このコードを使用してexif情報を読み取ります

$full_filename ='image.jpg';
$exif = exif_read_data($full_filename);

print "<pre>";
    print_r($exif);
print "<pre>";

これは、drupal にアップロードされていないイメージから読み取った結果です。

Array
(
    [FileName] => image4.jpg
    [FileDateTime] => 1372430458
    [FileSize] => 1568098
    [FileType] => 2
    [MimeType] => image/jpeg
    [SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF
    [COMPUTED] => Array
        (
            [html] => width="2592" height="1936"
            [Height] => 1936
            [Width] => 2592
            [IsColor] => 1
            [ByteOrderMotorola] => 1
            [ApertureFNumber] => f/2.8
            [Thumbnail.FileType] => 2
            [Thumbnail.MimeType] => image/jpeg
        )

    [Make] => Apple
    [Model] => iPhone 4
    [Orientation] => 6
    [XResolution] => 72/1
    [YResolution] => 72/1
    [ResolutionUnit] => 2
    [Software] => 5.1.1
    [DateTime] => 2013:06:28 09:18:53
    [YCbCrPositioning] => 1
    [Exif_IFD_Pointer] => 192
    [THUMBNAIL] => Array
        (
            [Compression] => 6
            [XResolution] => 72/1
            [YResolution] => 72/1
            [ResolutionUnit] => 2
            [JPEGInterchangeFormat] => 676
            [JPEGInterchangeFormatLength] => 8886
        )

    [ExposureTime] => 1/24
    [FNumber] => 14/5
    [ExposureProgram] => 2
    [ISOSpeedRatings] => 80
    [ExifVersion] => 0221
    [DateTimeOriginal] => 2013:06:28 09:18:53
    [DateTimeDigitized] => 2013:06:28 09:18:53
    [ComponentsConfiguration] => 
    [ShutterSpeedValue] => 21632/4717
    [ApertureValue] => 4281/1441
    [BrightnessValue] => 94810/26881
    [MeteringMode] => 5
    [Flash] => 24
    [FocalLength] => 77/20
    [SubjectLocation] => Array
        (
            [0] => 1295
            [1] => 967
            [2] => 699
            [3] => 696
        )

    [FlashPixVersion] => 0100
    [ColorSpace] => 1
    [ExifImageWidth] => 2592
    [ExifImageLength] => 1936
    [SensingMethod] => 2
    [ExposureMode] => 0
    [WhiteBalance] => 0
    [SceneCaptureType] => 0
    [Sharpness] => 2
)

これは drupal にアップロードされた画像からの情報です

Array
(
    [FileName] => image3.jpg
    [FileDateTime] => 1372355645
    [FileSize] => 75670
    [FileType] => 2
    [MimeType] => image/jpeg
    [SectionsFound] => COMMENT
    [COMPUTED] => Array
        (
            [html] => width="1024" height="765"
            [Height] => 765
            [Width] => 1024
            [IsColor] => 1
        )

    [COMMENT] => Array
        (
            [0] => CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75

        )

)

drupal がこれと関係がある可能性はありますか。GD ツールキット?

imagecache autorotate を使用してみましたが、iPhone からアップロードされていない画像を回転させましたが、iPad や iPhone の画像ではうまくいきませんでした。

そもそもこれについてどうすればよいのかわかりません。すべてのヘルプは大歓迎です。

4

1 に答える 1

0

あなたは物事を見ていません。

iPhone/Pad は、画像を送信するときに EXIF 情報を取り除きます。

iPhoneからの画像のアップロードはexifデータを取り除きます

EXIF カスタム モジュールが役立つ場合があります。

https://drupal.org/project/exif_custom

ImageCache アクションもそうかもしれません

https://drupal.org/project/imagecache_actions

于 2013-07-20T22:52:44.430 に答える