我希望根据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:对不起双重帖子
答案 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只需将其替换为您自己的。