PngToIco.java

PngToIco.java [PNG转ICO]为了解决今天项目PNG弄成ICO写的

package image;


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

import javax.imageio.ImageIO;

import org.apache.commons.imaging.ImageFormats;
import org.apache.commons.imaging.ImageWriteException;
//Apache Commons Imaging
/*


    org.apache.commons
    commons-imaging
    1.0-alpha3

*/
import org.apache.commons.imaging.Imaging;

/**
 * PNG转ICO
 * 
 * @author ZengWenFeng
 * @email [email protected]
 * @mobile 13805029595
 * @date 2024.01.16
 */
public class PngToIco
{

	public PngToIco()
	{

	}

	public static void main(String[] args)
	{

		// 加载PNG文件
		File pngFile = new File("C:/Users/Administrator/Desktop/further_logo.rp.png");
		BufferedImage bufferedImage = null;
		try
		{
			bufferedImage = ImageIO.read(pngFile);
		}
		catch (IOException e1)
		{
			e1.printStackTrace();
		}

		// 设置输出ICO文件路径及名称
		String pathIco = "C:/Users/Administrator/Desktop/further_logo.rp.ico";

		// 调用Imaging类的write()方法将BufferedImage保存为ICO文件
		try
		{
			Imaging.writeImage(bufferedImage, new File(pathIco), ImageFormats.ICO);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
		catch (ImageWriteException e)
		{
			e.printStackTrace();
		}
		
		System.out.println("ok");

	}

}

package image;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.imageio.ImageIO;

import net.sf.image4j.codec.ico.ICODecoder;
/*


    net.sf.image4j
    image4j
    0.7zensight1

*/
import net.sf.image4j.codec.ico.ICOEncoder;

public class PngToIco2
{

	public PngToIco2()
	{

	}

	public static void main(String[] args)
	{
		// 加载PNG文件
		String pathPng = "C:/Users/Administrator/Desktop/further_logo.rp.png";
		
		System.out.println(pathPng.substring(pathPng.lastIndexOf(".") + 1));

		// 设置输出ICO文件路径及名称
		String pathIco = "C:/Users/Administrator/Desktop/further_logo.rp.ico";

		BufferedImage bi = null;
		try
		{
			bi = ImageIO.read(new File(pathPng));
			ICOEncoder.write(bi, new File(pathIco));
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}

	}

	/**
	 * PNG转ICO
	 * 
	 * @author ZengWenFeng
	 * @email [email protected]
	 * @mobile 13805029595
	 * @date 2024.01.16
	 * @param png
	 * @param ico
	 */
	public static void convertPngToIco(String png, String ico)
	{
		try
		{
			BufferedImage bi = ImageIO.read(new File(png));
			ICOEncoder.write(bi, new File(ico));
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
	
	/**
	 * ICO转PNG
	 * 
	 * @author ZengWenFeng
	 * @email [email protected]
	 * @mobile 13805029595
	 * @date 2024.01.16
	 * @param png
	 * @param ico
	 */
	public static void convertIcoToPng(String ico, String png)
	{
		try
		{
			List images = ICODecoder.read(new File(ico));
	        ImageIO.write(images.get(0), "png", new File(png));
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}

}

PngToIco.java_第1张图片

你可能感兴趣的:(java,java)