iptcembed
(PHP 4, PHP 5, PHP 7)
iptcembed - 将二进制IPTC数据嵌入到JPEG图像中
描述
mixed iptcembed ( string $iptcdata , string $jpeg_file_name [, int $spool = 0 ] )
将二进制IPTC数据嵌入到JPEG图像中。
参数
iptcdata
要写入的数据。
jpeg_file_name
JPEG图像的路径。
spool
后台打印flag。如果假脱机标志小于2,则JPEG将作为字符串返回。否则,JPEG将被打印到STDOUT。
返回值
如果假脱机小于2,则返回JPEG,否则返回FALSE。 否则在成功时返回TRUE或在失败时返回FALSE。
例子
示例#1将IPTC数据嵌入到JPEG中
<?php
//?iptc_make_tag()?function?by?Thies?C.?Arntzen
function?iptc_make_tag($rec,?$data,?$value)
{
????$length?=?strlen($value);
????$retval?=?chr(0x1C)?.?chr($rec)?.?chr($data);
????if($length?<?0x8000)
????{
????????$retval?.=?chr($length?>>?8)?.??chr($length?&?0xFF);
????}
????else
????{
????????$retval?.=?chr(0x80)?.?
???????????????????chr(0x04)?.?
???????????????????chr(($length?>>?24)?&?0xFF)?.?
???????????????????chr(($length?>>?16)?&?0xFF)?.?
???????????????????chr(($length?>>?8)?&?0xFF)?.?
???????????????????chr($length?&?0xFF);
????}
????return?$retval?.?$value;
}
//?Path?to?jpeg?file
$path?=?'./phplogo.jpg';
//?Set?the?IPTC?tags
$iptc?=?array(
????'2#120'?=>?'Test?image',
????'2#116'?=>?'Copyright?2008-2009,?The?PHP?Group'
);
//?Convert?the?IPTC?tags?into?binary?code
$data?=?'';
foreach($iptc?as?$tag?=>?$string)
{
????$tag?=?substr($tag,?2);
????$data?.=?iptc_make_tag(2,?$tag,?$string);
}
//?Embed?the?IPTC?data
$content?=?iptcembed($data,?$path);
//?Write?the?new?image?data?out?to?the?file.
$fp?=?fopen($path,?"wb");
fwrite($fp,?$content);
fclose($fp);
?>
注意
注意:该功能不需要GD图像库。
← imagexbm
iptcparse →
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com