Ik wil met php de exif-informatie van een jpg-foto gemaakt met een digitale camera bereiken. Ik gebruik de functie exif_read_data.
Nu heb ik een voorbeeldje genomen, een originele foto, en dit is wat de functie geeft
Ondanks een onleesbaar stuk lijken de meeste dingen hier wel correct en bruikbaar. Ik heb dezelfde foto ook geresized (voor op het net), maar de exif-informatie die ik dan heb ziet er zo uit
wat allemaal rare waarden geeft. Nu denk ik komt dit door het resizen en zou ik een programma moeten hebben die de exif-informatie niet zo verandert. Echter als ik een van de vele programma's gebruik om exif-informatie te lezen, dan wordt (op het resizen na) overal dezelfde exif-informatie gelezen voor beide versies (origineel en na resizen). Dat zijn dan de waarden die je ook vindt met de php-functie op de originele foto, maar blijkbaar zijn deze dus niet verdwenen in de resize-versie, alleen laat deze php-functie anders uitschijnen.
Mijn vraag dus: hoe komt dit en hoe kan ik de correcte exif-informatie in de geresizede foto terugvinden met php?
Nu heb ik een voorbeeldje genomen, een originele foto, en dit is wat de functie geeft
Code:
[FileName] => WinareisKeulen_05_048.jpg
[FileDateTime] => 1108816966
[FileSize] => 2268567
[FileType] => 2
[MimeType] => image/jpeg
[SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP
[COMPUTED] => Array
(
[html] => width="2592" height="1944"
[Height] => 1944
[Width] => 2592
[IsColor] => 1
[ByteOrderMotorola] => 0
[ApertureFNumber] => f/5.6
[Thumbnail.FileType] => 2
[Thumbnail.MimeType] => image/jpeg
)
[ImageDescription] =>
[Make] => SONY
[Model] => DSC-P93
[Orientation] => 1
[XResolution] => 72/1
[YResolution] => 72/1
[ResolutionUnit] => 2
[DateTime] => 2005:02:19 14:42:45
[YCbCrPositioning] => 2
[Exif_IFD_Pointer] => 256
[UndefinedTag:0xC4A5] => PrintIM 0250
[THUMBNAIL] => Array
(
[Compression] => 6
[Make] => SONY
[Model] => DSC-P93
[Orientation] => 1
[XResolution] => 72/1
[YResolution] => 72/1
[ResolutionUnit] => 2
[DateTime] => 2005:02:19 14:42:45
[JPEGInterchangeFormat] => 2482
[JPEGInterchangeFormatLength] => 14189
)
[ExposureTime] => 10/1000
[FNumber] => 56/10
[ExposureProgram] => 8
[ISOSpeedRatings] => 100
[ExifVersion] => 0220
[DateTimeOriginal] => 2005:02:19 14:42:45
[DateTimeDigitized] => 2005:02:19 14:42:45
[ComponentsConfiguration] =>
[CompressedBitsPerPixel] => 8/1
[ExposureBiasValue] => 0/10
[MaxApertureValue] => 48/16
[MeteringMode] => 5
[LightSource] => 0
[Flash] => 16
[FocalLength] => 79/10
[MakerNote] => SONY DSC � ” @ � È Ô � È œ � t d � € Ø � ü X � È T � È _ ÅH¼ ÅH¼ Øà ( ( ·ÿ } ïJj? Ë~êïp{ÿëÿý J¾0 p ¾0 p 0 3Ü } }¶ ^pÍŠ¥Š¥Š&Š& ^p.pþ p²Šå ^ ·æ } Í3 @ J •**Ä ÜsF ) ôç6ámá O !›ÆGËЬ½½½½½½ QÍU•Â%ˆ¾áiB� ÿ!ÿ+ Dý;¿J@piP(D ¥ ã ¢ 3p p p p ½½½½½L{Lå¬Kï©L劙 ÂòssâDïssËÃà8à8ï© ï©ðsi•p< ½½½½½½½½½½½½½p¶ Üܼ_ ????h²².h²². u¬ Ä @ h£ ²˜ ²¡ .¨?¾ŸÇ¸$?p}îL’t?0w쮨?p‰Uâ+ Ÿ –â ¶ –â¯á – Ü L6 è } ‡¶ÍØ^Ši¶pŠêŠ*^·· ÿÿ ÿ L‡ ÿÿ Í>* @ @ @ ß Š: A7 1£ ¿ï ¯Y ñ Ê u! 8» 2| 1 ¼Š í ¶ O2 öæ Äh –) b @: ŠJ +n N@ –Y Ž" $ @™ V¿ * $÷ ` `Ô $g }+ ‹ ×. ]œ 9
jÿ }� ç% Šs j� ìÛ j4 »—¬+++¬¬+++¬¬+uãu+¬+uî'îu++ã'J'ã++uî'îu+¬+uãu+¬ 0Í0¶ •i² £ ƒ nˆÌi p.phŠáÍW £pép~Š¿Íã ÍnÍnÍnÍn £ŠåŠípp² ^m˜‘þ«
ÄØOG £É ©fl ‘Jö 8¬’ Aì? ]oæp?꛼M *å> e ´î (Ê *‚ Ø Ä* Åñâ ÅÄ àƒÇ )( ¶ V ¶¿ ýÝ.^@¦Ø(^tW ÿi- n Ë 3 “ l × l è 8 W ‚}ž´@Æ}ÀçFØQ^Êç Æ w < Æ G \ +Z–õ¦
[FlashPixVersion] => 0100
[ColorSpace] => 1
[ExifImageWidth] => 2592
[ExifImageLength] => 1944
[InteroperabilityOffset] => 2276
[FileSource] =>
[SceneType] =>
[CustomRendered] => 0
[ExposureMode] => 0
[WhiteBalance] => 0
[SceneCaptureType] => 1
[Contrast] => 0
[Saturation] => 0
[Sharpness] => 0
[InterOperabilityIndex] => R98
[InterOperabilityVersion] => 0100
Code:
[FileName] => Collectie2005_001.jpg
[FileDateTime] => 1169842976
[FileSize] => 73180
[FileType] => 2
[MimeType] => image/jpeg
[SectionsFound] => ANY_TAG, IFD0, EXIF
[COMPUTED] => Array
(
[html] => width="640" height="480"
[Height] => 480
[Width] => 640
[IsColor] => 1
[ByteOrderMotorola] => 0
[ApertureFNumber] => f/74099368.0
[FocusDistance] => 74099368.00m
)
[ImageDescription] => IF
[Make] =>
[Model] =>
[XResolution] => 538976288/538976288
[YResolution] => 538976288/538976288
[ResolutionUnit] => 2
[DateTime] =>
[WhitePoint] => Array
(
[0] => 759386948/3357008
[1] => 808464896/842021429
)
[PrimaryChromaticities] => Array
(
[0] => 540619066/876229681
[1] => 892615218/0
[2] => 1111490560/15
[3] => 1111490560/15
[4] => 1111490560/15
[5] => 1111490560/15
)
[YCbCrCoefficients] => Array
(
[0] => 1111490560/15
[1] => 1111490560/15
[2] => 1111490560/15
)
[YCbCrPositioning] => 2
[ReferenceBlackWhite] => Array
(
[0] => 1111490560/15
[1] => 1111490560/15
[2] => 1111490560/15
[3] => 1111490560/15
[4] => 1111490560/15
[5] => 1111490560/15
)
[Exif_IFD_Pointer] => 376
[ExposureTime] => 1111490560/15
[FNumber] => 1111490560/15
[ExposureProgram] => 8
[ISOSpeedRatings] => Array
(
[0] => 100
[1] => 100
)
[ExifVersion] => 0220
[DateTimeOriginal] =>
[DateTimeDigitized] =>
[CompressedBitsPerPixel] => 842283572/3486778
[ShutterSpeedValue] => 808464896/842021429
[ApertureValue] => 540619066/876229681
[BrightnessValue] => 892615218/301989888
[ExposureBiasValue] => 1111490682/15
[MaxApertureValue] => 1111490560/15
[SubjectDistance] => 1111490560/15
[MeteringMode] => 5
[LightSource] => 0
[Flash] => 16
[FocalLength] => 1111490560/15
[FlashPixVersion] => 0100
[ColorSpace] => 1
[ExifImageWidth] => 2592
[ExifImageLength] => 1944
[FocalPlaneXResolution] => 1111490560/-960495601
[FocalPlaneYResolution] => 1111490605/15
[FocalPlaneResolutionUnit] => 0
[ExposureIndex] => 1111490560/-1956642801
[SensingMethod] => 0
[FileSource] => 3
[SceneType] => 1
Mijn vraag dus: hoe komt dit en hoe kan ik de correcte exif-informatie in de geresizede foto terugvinden met php?
Laatst bewerkt door een moderator: