2012-11-12 41 views
0

根据PHP,图像的EXIF信息为F编号为20/10,焦距为51/10,曝光为10/150。这不是这些值应该如何的样子!它应该看起来像用于F号码的F/2,用于焦距的5, mm和用于曝光的1/150。这些值只是一些例子!请参阅this link了解我的真实意思。请注意,我会不是使用任何第三方软件!只是纯粹的PHP。将EXIF数据转换为它应该看起来的样子

是否可以在PHP中将这些值(例如20/10)转换为实际值(例如F/2)?如果是的话,我该如何转换它们?

在此先感谢。

EDIT

下面的代码转换150/10〜150秒,这是2分30秒。这是错误的,因为我用15秒快门拍了照片。我怎样才能使它计算到正确的秒数?

list($d1, $d2) = str_split('/', 'P1220379.JPG'); 

if($d1 > 0 AND $d2 > 0) { 
    $e = $d1/$d2; 
} else { 
    $e = 'P1220379.JPG'; 
} 

if($e < 1 AND $e > 0) { 
    $e = '1/'.round(1/$e, 0).' sekunder'; 
} else { 
    $e = round($e, 1).' sekunder'; 
} 

回答

2

“drpain”这个link

请注意,调整与GD的图像,最像 处理脚本或应用程序时,你将失去的EXIF information.What我做了一个变通方法在我重新调整图像大小之前,将这些信息预订到 MySQL中。

他下面

<?php 

$camera = cameraUsed("/img/myphoto.jpg"); 
echo "Camera Used: " . $camera['make'] . " " . $camera['model'] . "<br />"; 
echo "Exposure Time: " . $camera['exposure'] . "<br />"; 
echo "Aperture: " . $camera['aperture'] . "<br />"; 
echo "ISO: " . $camera['iso'] . "<br />"; 
echo "Date Taken: " . $camera['date'] . "<br />"; 

?> 

小程序会根据他

正确的格式产生这些数字,会显示如下,具体取决于数据:

Camera Used: SONY DSC-S930 
Exposure Time: 1/400 
Aperture: f/4.3 
ISO: 100 
Date Taken: 2010:12:10 18:18:45 
+0

非常感谢您的快速问题! :D – Erik

+0

你是最受欢迎的! –

+1

但是这并没有解决我的焦距问题。我如何将焦距转换为适当的值? – Erik

相关问题