0

「IPTC」画像を処理するクラスを作成しており、以下の例に示すように配列にいくつかの値を書き込む必要があります。

[2#020] => Array //SUPPLEMENTAL_CATEGORY
    (
        [0] => SPORT
        [1] => REAL MADRID
    )


[2#025] => Array //KEYWORDS
    (
        [0] => value 1
        [1] => value 2
        [2] => value 3
    )

希望する実装例;

$iptc = new Iptc('some_image.jpg');
$iptc->set('KEYWORDS', array(
    'value 1',
    'value 2',
    'value 3'
));

誰でもこれで私を助けることができますか?

注:「iptcembed」を使用して、イメージにメタタグを書き込みます。

ありがとう!

4

1 に答える 1

1

問題を解決することさえできたので、ここでその方法を共有します。

$val = array('keyword1', 'keyword2', 'keyword3');
$rec  = 2;
$tag = 025;

if (is_array($val)) {
    $source = '';
    foreach($val as $item) {
        $len = strlen($item);
        $source .= chr(0x1c).chr($rec).chr($tag);
        $source .= chr($len >> 8).
                   chr($len & 0xff).
                   $item;
    }
    return $source;
}

結果

Array
(
    [0] => keyword1
    [1] => keyword2
    [2] => keyword3
)

抱擁!

于 2012-05-17T17:56:49.960 に答える