首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iptcembed

(PHP 4, PHP 5, PHP 7)

iptcembed - 将二进制IPTC数据嵌入到JPEG图像中

描述

代码语言:javascript
复制
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中

代码语言:javascript
复制
<?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 →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com