添加一个canvas helper类，大幅度重构代码