flutter产生的图标不是我们产品的图标,需要我们自已制作图标。以前我的方式是 制作完图标,按大小与名称一个一个保存太费事。 于是写了一个代码,这样可以只需要制作一个最大的图标1024*1024, 然后通过设置名称与大小信息,一个一个压缩。再替换图标。
<dependencies>
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
</dependencies>
package com.iconcompress;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import net.coobird.thumbnailator.Thumbnails;
public class Compress {
static Map<String, Integer> fileMap = new HashMap<String, Integer>();
static String dirPath = ""; //1024原图标所在的目录
static String srcPic = "logo.png"; //1024的原图标名称
static {
fileMap.put("Icon-App-20x20@1x", 20);
fileMap.put("Icon-App-20x20@2x", 40);
fileMap.put("Icon-App-20x20@3x", 60);
fileMap.put("Icon-App-29x29@1x", 29);
fileMap.put("Icon-App-29x29@2x", 58);
fileMap.put("Icon-App-29x29@3x", 87);
fileMap.put("Icon-App-40x40@1x", 40);
fileMap.put("Icon-App-40x40@2x", 80);
fileMap.put("Icon-App-40x40@3x", 120);
fileMap.put("Icon-App-60x60@2x", 120);
fileMap.put("Icon-App-60x60@3x", 180);
fileMap.put("Icon-App-76x76@1x", 76);
fileMap.put("Icon-App-76x76@2x", 152);
fileMap.put("Icon-App-83.5x83.5@2x", 167);
fileMap.put("Icon-App-1024x1024@1x", 1024);
}
public static void main(String[] args) {
for (Map.Entry<String, Integer> entry : fileMap.entrySet()) {
try {
System.out.println(entry.getValue().intValue());
Thumbnails.of(new File(dirPath + srcPic)).size(entry.getValue().intValue(),entry.getValue().intValue()).toFile(new File(dirPath+entry.getKey()+".png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}