PHP - 根据JSON的数据自动调整图像

时间:2017-01-17 00:23:48

标签: php json

我希望根据json的数据自动调整图像。这个数据正在更新,我需要一个显示如下列表的图像: 此列表根据JSON数据

示例:

NL: Anon1
EN: Anon3
ES: Anon9

这是我的代码:

<?php
header("Content-type: image/png");

$link = 'http://riddlematic.com/staff.json';
$f = file_get_contents($link);
$json = json_decode($f);

foreach ($json->mods as $key => $val) {
$q = strtoupper($key) . ': ' . implode(', ', $val);
}

$font  = "IMPACT.TTF";
$size  = 30;

$bbox   = imageftbbox($size, 0, $font, $q);



$width  = $bbox[2] - $bbox[6];
$height = $bbox[3] - $bbox[7];

$im    = imagecreatetruecolor($width, $height);
$green = imagecolorallocate($im, 60, 240, 60);

imagefttext($im, $size, 0, -$bbox[6], -$bbox[7], $green, $font, $q);
imagepng($im);
imagedestroy($im);
?>

编辑:目前JSON数据已关闭,但它是这样的:

{
 "map": {},
 "mod": {
   "br": [
     "Explanado"
   ],
   "de": [
     "Sweetphoenix"
   ]
   }
}'

希望有人帮助我 PLS

PS:对不起双重帖子

1 个答案:

答案 0 :(得分:0)

试试这个:

// header("Content-type: image/png");
    $link = base_url('staff.json');
$f = file_get_contents($link);
$json = json_decode($f);

$font  = "C:/xampp/htdocs/api/texb.ttf";
echo $font;
$size  = 30;
foreach ($json->mods as $key => $val) {
    $q = strtoupper($key) . ': ' . implode(', ', $val);
    $bbox   = imageftbbox($size, 0, $font, $q);



    $width  = $bbox[2] - $bbox[6];
    $height = $bbox[3] - $bbox[7];

    $im    = imagecreatetruecolor($width, $height);
    $green = imagecolorallocate($im, 60, 240, 60);

    imagefttext($im, $size, 0, -$bbox[6], -$bbox[7], $green, $font, $q);
    imagepng($im, $key.'.png',9);
    imagedestroy($im);
}

我删除了标题代码 标题(“Content-type:image / png”); ,然后将您的图片代码放入foreach循环中,之后保存每张图片生成 imagepng($ im,$ key。'。png',9);

抱歉,我使用自己的FONT只需将其替换为您自己的。