如何在c#.net中创建wordpress图像缩略图元数据(size / exif / iptc)

时间:2015-07-03 14:42:09

标签: c# wordpress image metadata exif

这是wordpress缩略图图像元数据的例子:

a:6:{s:5:"width";i:250;s:6:"height";i:150;s:14:"hwstring_small";s:23:"height='77' width='128'";s:4:"file";s:33:"2014/09/13920503000128_PhotoA.jpg";s:5:"sizes";a:5:{s:9:"thumbnail";a:4:{s:4:"file";s:33:"13920503000128_PhotoA-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:32:"13920503000128_PhotoA-100x65.jpg";s:5:"width";i:100;s:6:"height";i:65;s:9:"mime-type";s:10:"image/jpeg";}s:9:"art-thumb";a:4:{s:4:"file";s:32:"13920503000128_PhotoA-100x65.jpg";s:5:"width";i:100;s:6:"height";i:65;s:9:"mime-type";s:10:"image/jpeg";}s:7:"art-gal";a:4:{s:4:"file";s:33:"13920503000128_PhotoA-210x150.jpg";s:5:"width";i:210;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:10:"td_198x143";a:4:{s:4:"file";s:33:"13920503000128_PhotoA-198x143.jpg";s:5:"width";i:198;s:6:"height";i:143;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:11:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";s:11:"orientation";i:0;}}

我怎样才能用c#制作它? 我不知道这些参数:(示例)s:10或i:0或a:4或s:33。

1 个答案:

答案 0 :(得分:0)

您正在查看序列化的PHP变量。

  • s:10是一个长度为10的字符串(参见s:5:“width”)
  • i:0是整数'0'
  • a:4是一个包含4个条目的数组

以下是http://php.net/manual/en/function.serialize.php#66147

所有内容的细分
  

序列化()'ed值的剖析:

     

<强>字符串:
  S:尺寸:值; (字符串值始终用双引号)

     

<强>整数:
  I:值;

     

<强>布尔:
  B:值; (不存储“true”或“false”,存储“1”或“0”)

     

<强>空
  N;

     

<强>阵列:
  a:size:{键定义;值定义;(每个元素重复)}
  数组键总是整数或字符串

     
    

“null =&gt;'value'”等于's:0:“”; s:5:“value”;',
    “true =&gt;'value'”等同于'i:1; s:5:“value”;',
    “false =&gt;'value'”等同于'i:0; s:5:“value”;',

         

“数组(无论内容如何)=&gt;'value'”等同于“非法偏移类型”警告,因为您无法使用         数组作为键;但是,如果使用包含数组的变量作为键,它将等于's:5:“Array”; s:5:“value”;',          并尝试将对象用作键将导致与使用数组相同的行为。

  
     

<强>对象
  O:strlen(对象名):对象名:对象大小:{s:strlen(属性名):属性名:属性定义;(每个属性重复)}

以下是元数据中未序列化的第一个数组:

(记住php中的数组键可以是字符串.php数组几乎都是哈希映射)

Array
(
    [width] => 250
    [height] => 150
    [hwstring_small] => "height='77' width='128'"
    [file] => "2014/09/13920503000128_PhotoA.jpg"
    [sizes] => Array
    (
        [thumbnail] => Array
        (
            [file] => "13920503000128_PhotoA-150x150.jpg"
            [width] => 150
            [height] => 150
            [mime-type] => "image/jpeg"
        )
    ...

您可以反序列化其余的here