exif jpg-foto

  • Onderwerp starter Onderwerp starter keej
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

keej

Gebruiker
Lid geworden
17 aug 2007
Berichten
279
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
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
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
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
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?
 
Laatst bewerkt door een moderator:
Ik gebruik niet vaak de EXIF-data, maar het is toch niet zo gek dat die veranderd. Je veranderd namelijk met PHP niet het bestand, maar je maakt een heel nieuw bestand dat er ongeveer hetzelfde uitziet.
 
De foto is met een ander programma geresized (en het is met dit voorbeeld al een tijdje geleden gebeurd, dat was Easy Thumbnails (om veel foto's in 1 keer te resizen)). Mss niet zo gek dat er problemen zijn als dat een slecht programma is, maar wat ik niet begrijp is dat alle exif-readers er geen probleem mee hebben maar ik daarentegen bijna niets origineels meer terugvind in de geresizede versie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan