Использование буферизованного изображения в Android - PullRequest
0 голосов
/ 14 января 2020

Я пытался использовать следующий фрагмент из https://github.com/fadihatem/AppIconsGenerator/blob/master/src/AppIconsGenerator.java для создания android иконок запуска на android платформе

private static void createAndroidIcons(final String path,
                                           final String fileName) throws IOException {
        List<Point> launchIcons= Arrays.asList(new Point(1024,500),new Point(180,120));
        List<Integer> appIcons=Arrays.asList(48,72,96,144,512);
        List<String> appIconsFolders=Arrays.asList("drawable-mdpi/","drawable-hdpi/","drawable-xhdpi/","drawable-xxhdpi/",".");
        File androidDir=new File(path+"Android/");
        androidDir.mkdir();

        BufferedImage originalImage = ImageIO.read(new File(path+fileName+".png"));
        int type = originalImage.getType() == 0? BufferedImage.TYPE_INT_ARGB : originalImage.getType();

        for(int i=0;i<appIcons.size();i++){
            File appIconsDir=new File(androidDir.getAbsolutePath()+"/"+appIconsFolders.get(i));
            appIconsDir.mkdir();
            BufferedImage resizeImagePng = resizeImage(originalImage, type, appIcons.get(i), appIcons.get(i));
            if(!appIconsFolders.get(i).equals(".")){
                ImageIO.write(resizeImagePng, "png", new File(androidDir.getAbsolutePath()+"/"+appIconsFolders.get(i)+"ic_launcher.png"));
            }else{
                ImageIO.write(resizeImagePng, "png", new File(androidDir.getAbsolutePath()+"/"+"ic_launcher-web.png"));
            }
        };

        for(Point p : launchIcons){
            BufferedImage resizeImagePng = resizeImage(originalImage, type, p.x, p.y);
            ImageIO.write(resizeImagePng, "png", new File(androidDir.getAbsolutePath()+"/"+fileName+"-"+p.x+"-"+p.y+".png"));
        };
    }

Я узнал, что класс Buffered Image файлы являются частью библиотек AWT и отсутствуют для android. Мне нужно использовать растровые классы android, чтобы соответствующим образом изменить свой код или есть ли другой способ сделать это?

...