所以我一直用imagecreatepng制作一个动态签名,我正在使用的API是
(假设用户名是“googlechrome”)
http://gdata.youtube.com/feeds/api/users/googlechrome?v=2&alt=json
这一行告诉我他们有289个视频:
{"rel":"http://gdata.youtube.com/schemas/2007#user.uploads","href":"http://gdata.youtube.com/feeds/api/users/googlechrome/uploads?v=2","countHint":289},我不确定如何在图像上打印出来。
我的代码到目前为止。
语法:domain.com/image.php?channel=googlechrome
yt.png = http://i.imgur.com/OCRWhI6.png
<?php $channel = $_REQUEST["channel"]; $image = ('yt.png'); $im = imagecreatefrompng($image); $white = imagecolorallocate($im, 255, 255, 255); $width = imagesx($im); $height = imagesy($im); $font = 2; $json_output = file_get_contents('http://gdata.youtube.com/feeds/api/users/'.($channel).'?v=2&alt=json'); $json = json_decode($json_output, true); $username = $json['entry']['yt$username']['$t']; $view_count = $json['entry']['yt$statistics']['totalUploadViews']; $sub_count = $json['entry']['yt$statistics']['subscriberCount']; //$video_count = $json['entry']['DUNNO_YET']['$t']; $UserName = ("".$username); imagestring($im, $font, $width-190, $height-59, $UserName, $white); $viewCount = ("".$view_count); imagestring($im, $font, $width-190, $height-45, $viewCount, $white); $subCount = ("".$sub_count); imagestring($im, $font, $width-190, $height-30, $subCount, $white); $VideoCount = ("".$video_count); imagestring($im, $font, $width-190, $height-15, $VideoCount, $white); //text before counts $UNAME = ('Username:'); imagestring($im, $font, $width-278, $height-59, $UNAME, $white); $TOTALVIEWS = ('Total Views: '); imagestring($im, $font, $width-278, $height-45, $TOTALVIEWS, $white); $SUBS = ('Subscribers: '); imagestring($im, $font, $width-278, $height-30, $SUBS, $white); $TOTALVIDEOS = ('Total Videos: '); imagestring($im, $font, $width-278, $height-15, $TOTALVIDEOS, $white); Header('Content-type: image/png'); imagepng($im); imagedestroy($im); ?>任何帮助赞赏!
So I've been making a dynamic signature with imagecreatepng, The API I'm using is
(Assuming the username is "googlechrome")
http://gdata.youtube.com/feeds/api/users/googlechrome?v=2&alt=json
This line shows me they have 289 videos:
{"rel":"http://gdata.youtube.com/schemas/2007#user.uploads","href":"http://gdata.youtube.com/feeds/api/users/googlechrome/uploads?v=2","countHint":289},I am unsure about how to print it out on the image.
My code so far.
Syntax: domain.com/image.php?channel=googlechrome
yt.png = http://i.imgur.com/OCRWhI6.png
<?php $channel = $_REQUEST["channel"]; $image = ('yt.png'); $im = imagecreatefrompng($image); $white = imagecolorallocate($im, 255, 255, 255); $width = imagesx($im); $height = imagesy($im); $font = 2; $json_output = file_get_contents('http://gdata.youtube.com/feeds/api/users/'.($channel).'?v=2&alt=json'); $json = json_decode($json_output, true); $username = $json['entry']['yt$username']['$t']; $view_count = $json['entry']['yt$statistics']['totalUploadViews']; $sub_count = $json['entry']['yt$statistics']['subscriberCount']; //$video_count = $json['entry']['DUNNO_YET']['$t']; $UserName = ("".$username); imagestring($im, $font, $width-190, $height-59, $UserName, $white); $viewCount = ("".$view_count); imagestring($im, $font, $width-190, $height-45, $viewCount, $white); $subCount = ("".$sub_count); imagestring($im, $font, $width-190, $height-30, $subCount, $white); $VideoCount = ("".$video_count); imagestring($im, $font, $width-190, $height-15, $VideoCount, $white); //text before counts $UNAME = ('Username:'); imagestring($im, $font, $width-278, $height-59, $UNAME, $white); $TOTALVIEWS = ('Total Views: '); imagestring($im, $font, $width-278, $height-45, $TOTALVIEWS, $white); $SUBS = ('Subscribers: '); imagestring($im, $font, $width-278, $height-30, $SUBS, $white); $TOTALVIDEOS = ('Total Videos: '); imagestring($im, $font, $width-278, $height-15, $TOTALVIDEOS, $white); Header('Content-type: image/png'); imagepng($im); imagedestroy($im); ?>Any Help appreciated!
最满意答案
$video_count变量应该等于:
$video_count = $json['entry']['gd$feedLink'][6]['countHint'];但是,我不确定上传计数是否总是在gd$feedLink的第6个索引处,所以使用类似下面的内容可能是一个明智的想法:
$video_count = 0; foreach ($json['entry']['gd$feedLink'] as $feed) { if ($feed['rel'] == 'http://gdata.youtube.com/schemas/2007#user.uploads') { $video_count = $feed['countHint']; break; } }The $video_count variable should be equal to:
$video_count = $json['entry']['gd$feedLink'][6]['countHint'];However, I am unsure if the upload count will always be at the 6th index of gd$feedLink, so it may be a smart idea to use something like the following instead:
$video_count = 0; foreach ($json['entry']['gd$feedLink'] as $feed) { if ($feed['rel'] == 'http://gdata.youtube.com/schemas/2007#user.uploads') { $video_count = $feed['countHint']; break; } }更多推荐
发布评论