Skip to content

瓜果瓜秧与CVSE+制作的“2020 VOCALOID·UTAU分区新曲排行榜”主榜、副榜生成程序

Notifications You must be signed in to change notification settings

JingyuNankin/annual-ranking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

年榜生成器

瓜果瓜秧与CVSE+制作的“2020 VOCALOID·UTAU分区新曲排行榜”主榜、副榜生成程序。

本程序主要由景育编写。

功能

输入排行榜的数据,使用Excel编辑而成的xlsx文件即可,然后按照根据xlsx文件中的数据制作排行榜所需要的图片。

使用方法

主榜

首先下载“主榜生成”这个文件夹,内含“主榜”子文件夹、“背景图.png”图片、“原始数据.xlsx”数据、“主榜生成.py”Python源代码。如果直接运行Python程序,将根据原始数据生成前60行所对应的图片,也就是“2020 VOCALOID·UTAU分区新曲排行榜”主榜的图片。

如果需要修改数据内容,请修改“原始数据.xlsx”这个电子表格中的内容。如果修改了表头(字段名),需要同步修改源代码中读入数据的部分。

注意:需要安装思源宋体、思源黑体等字体

PICK UP

使用主榜程序即可。在遍历时增加条件,来控制生成哪些图片。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张副榜图片进行拼合。(原谅我懒得写到一个程序中去)。

About

瓜果瓜秧与CVSE+制作的“2020 VOCALOID·UTAU分区新曲排行榜”主榜、副榜生成程序

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages