注:手动搬运原博客园博客至此..
这两天在写个Java程序,工作上用到的,工作中有这样一个工作情景,即需要对大量的尺寸相同的手机截图修改状态栏,让状态栏变干净,变成更像一个用户的手机界面,而不是测试build+测试手机下的各种开发状态下的app提示()。
会有相应的团队给我们提供完美的一个标准语言下的图,状态栏已经修改好了,我们需要把这个状态栏应用到我们的n多手机截图上去,如果不写程序的话,这却是是个细心的体力活,用Windows 7自带的Paint工具来做……
周末用Java写完了这个程序,只需传入待修改的众多手机截图所在的文件夹(绝对路径),和已经剪切出来的状态栏图片的带文件名的绝对路径,即可把状态栏图片去覆盖每个待修改图片,再生成新图片,存放在原待修改图片的同一文件夹下。具体代码见我的github - https://github.com/python012/Screenshot-tool
在此过程中,又学习和重温了些新知识点:
1. 初始化一个类,当该类想拒绝不合格的传入参数时候,特别是需要在该类的构造方法中做些验证才能发现传入参数不合格时,可用
throw new IllegalArgumentException("The given files are not .png file!");
2. File类中,文件和文件目录都是File类型,可以用isFile()等做判断
3. 重写了寻找指定目录下和子(孙)目录的指定类型文件,注意这里是判断文件名的,不是深入判断文件的真实格式,可以继续深入研究
4. 学习了BufferedImage类和图片处理的基本方法,了解了图片类型和rgb数组等,有空继续学习