如何去除图片上透明区域部分

最近在玩火焰纹章:风花雪月,然后就想上网找一下全CG下载,可是找到的都是这种:

如何去除图片上透明区域部分虽然清晰度还可以,但总是有点不舒服,又不想一个一个去截图,观察了一下透明区域其实很规则,干脆写个代码去掉透明的部分再保存新图片就好了,试了下结果还行。

代码如下:

package main;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.imageio.ImageIO;

public class Main {

    public static void main(String[] args) throws IOException{
        // TODO Auto-generated method stub
        String imgPath = "C:\\Users\\K.XC\\Desktop\\mage\\";
        BufferedImage image=null;
        int x_max=0;
        int y_max=0;
        for(int a=1;a<39;a++) {
            image = ImageIO.read(new FileInputStream(imgPath+"0 ("+a+").png"));
            for(int y=0;y<image.getHeight();y++) {
                for(int x=0;x<image.getWidth();x++) {
                    if(image.getRGB(x,y)==0) {
                        if(x>x_max&&y!=0) {
                            x_max=x;
                        }
                        if(y>y_max&&x!=0) {
                            y_max=y;
                        }
                        break;
                    }
                }
            }
            
            image=image.getSubimage(0, 0, x_max, y_max);
            File outputfile = new File(imgPath+"图片"+a+".png");
            ImageIO.write(image, "png", outputfile);
            x_max=0;
            y_max=0;
        }
    }
}
 

效果如下:

如何去除图片上透明区域部分

 舒服了。