我正在試圖從.lnk文件中獲取圖標,將其放入一個javafx圖像中,然後將其保存爲.png文件(以確保其正常工作)。圖標從.lnk文件到javafx圖像
我當前的代碼編譯,但不工作:
import java.io.*;
import java.util.*;
import javax.swing.filechooser.FileSystemView;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javafx.embed.swing.SwingFXUtils;
import java.awt.image.BufferedImage;
import java.awt.Graphics;
import javafx.scene.image.Image;
import javax.imageio.ImageIO;
class Iconic {
public static void main(String[] args) throws IOException{
File origin = new File("C:\\Users\\00001\\OneDrive.lnk");
Icon icn = FileSystemView.getFileSystemView().getSystemIcon(origin);
ImageIcon ico = ((ImageIcon) icn);
BufferedImage bi = new BufferedImage(
ico.getIconWidth(),
ico.getIconHeight(),
BufferedImage.TYPE_INT_RGB);
Graphics g = bi.createGraphics();
ico.paintIcon(null,g,0,0);
g.dispose();
Image img = SwingFXUtils.toFXImage(bi,null);
File output = new File("C:\\Users\\00001\\");
BufferedImage bim = SwingFXUtils.fromFXImage(img,null);
ImageIO.write(bim,".png",output);
}
}
「不起作用」。那麼會發生什麼?你有例外嗎?如果是這樣,請發佈堆棧跟蹤。它看起來像你試圖寫圖像到最後的目錄...? –
目前,它不會拋出任何異常,但它不會將.lnk文件的圖標另存爲.jpg –