瓜果瓜秧与CVSE+制作的“2020 VOCALOID·UTAU分区新曲排行榜”主榜、副榜生成程序。
本程序主要由景育编写。
输入排行榜的数据,使用Excel编辑而成的xlsx文件即可,然后按照根据xlsx文件中的数据制作排行榜所需要的图片。
首先下载“主榜生成”这个文件夹,内含“主榜”子文件夹、“背景图.png”图片、“原始数据.xlsx”数据、“主榜生成.py”Python源代码。如果直接运行Python程序,将根据原始数据生成前60行所对应的图片,也就是“2020 VOCALOID·UTAU分区新曲排行榜”主榜的图片。
如果需要修改数据内容,请修改“原始数据.xlsx”这个电子表格中的内容。如果修改了表头(字段名),需要同步修改源代码中读入数据的部分。
注意:需要安装思源宋体、思源黑体等字体
使用主榜程序即可。在遍历时增加条件,来控制生成哪些图片。PICK UP的“markup”字段内容为“PICKUP”。
if row['markup'] != 'PICKUP':
continue
首先下载“副榜生成”这个文件夹,内含“主榜”子文件夹、“整合副榜”、“背景图.png”图片、“原始数据.xlsx”数据、“副榜生成.py”Python源代码、“合并副榜图片.py”Python源代码。
如果需要修改数据内容,请修改“原始数据.xlsx”这个电子表格中的内容。如果修改了表头(字段名),需要同步修改源代码中读入数据的部分。
运行“副榜生成.py”将会根据xlsx文件中的原始数据,生成图片。注意这个图片的尺寸是1920 * 360,只有三分之一个画面。在“副榜生成.py”运行完之后再运行“合并副榜图片.py”,将每3个画面拼接成一个1920 * 1080尺寸的画面。
注意:“副榜生成.py”会访问http://api.bilibili.com/x/web-interface/view 故而不宜频繁使用,否则可能会被B站禁封访问。
注意:需要安装思源宋体、思源黑体等字体
读入数据部分需要用到Pandas库,绘图(即在背景图上添加文字)需要用到Image、ImageDraw、ImageFont。
程序首先读入xlsx表格中的数据,作为Data Frame(数据框),然后遍历Data Frame中的每一行。
df = pd.read_excel(sys.path[0] + r'\原始数据.xlsx')
可以在遍历时增加条件,来控制生成哪些图片。
if int(row['rank']) > 60: #主榜的的条件是前60项
break
在循环体内,读入背景图,然后依次向图片上添加内容。 最终保存图片到目标文件夹即可。
副榜的原理与主榜大同小异。但是有两个差异。
其一,需要将视频封面下载至本地,并且变换尺寸,添加到副榜的图片上。
其二,需要使用另外一个程序来对每3张副榜图片进行拼合。(原谅我懒得写到一个程序中去)。