2012-08-27 79 views
5

我正在開發一個圖像處理器腳本來調整圖像大小。問題是,當我製作調整大小的圖像副本時,它不會複製IPTC數據。所以我一直在檢查IPTC PHP函數(iptcparse和iptcembed),但我很困惑。使用iptcparse非常簡單。它將所有數據獲取到一個數組中,然後使用print_r將其打印出來。但是據推測有用的一個是iptcembed,因爲它允許你(如名稱所示)在你的圖像中嵌入IPTC。從php.net看我的例子我不太明白。我是否必須手動創建陣列才能將其嵌入到新圖像中。我想有一種簡單的方法可以複製一張圖像IPTC的數據並將其嵌入到其他圖像中。如何將IPTC數據從一個圖像複製到另一個圖像?

任何答案將受到歡迎。 在此先感謝。

+2

的原因你沒有在新獲得IPTC數據圖像是因爲調整後的圖像是從PHP的空白圖像對象創建的,因此它不會繼承舊圖像的任何元信息。 還可以查看http://stackoverflow.com/questions/24456/embedding-iptc-image-data-with-php-gd?rq=1 –

回答

1

我想,這很簡單。要從舊圖像獲取iptc數據,只需使用getimagesize和iptcparse函數。

在php.net你發現這個例子來達到這個

<?php 
$size = getimagesize('./test.jpg', $info); 
if(isset($info['APP13'])) 
{ 
    $iptc = iptcparse($info['APP13']); 
    var_dump($iptc); 
} 
?> 

與iptcembed方法結合這個樣品,你有你需要的一切

相關問題