Drupal 7, ориентация изображения iPhone испорчена - нет информации exif
Итак, я схожу с ума с этим в течение двух дней. У меня есть сайт, построенный на Drupal 7.
У меня проблема в том, что когда пользователи моего сайта загружают изображения с iPhone или iPad (как через ckeditor, так и через изображения профиля учетной записи, загружаемые через формы), изображения оказываются перевернутыми.
Я зашел так далеко, что написал независимый php для чтения exif-данных изображений и обнаружения проблемы, когда заметил причудливую проблему. Изображения действительно имеют exif-информацию, когда не находятся в drupal, и кажется, что они теряют exif-информацию после загрузки в drupal.
Я использую этот код для чтения информации 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, и он поворачивает изображения, не загруженные с iphone, но не повезло с ipad или iphone.
Я не уверен, как это сделать для начала. Любая помощь приветствуется.
1 ответ
Вы не видите вещи.
iPhone / Pad извлекает информацию EXIF при отправке изображения.
Загрузка изображения с iphone обрезает данные exif
Пользовательский модуль EXIF может помочь.
https://drupal.org/project/exif_custom
Так могут и действия ImageCache