我想讀OSX中的*文件到BufferedImage中。幫助如何讀取OS X *與Java文件的文件
3
A
回答
4
2
您需要ICNS先轉換爲另一種圖像類型,負載在此之後的圖像,你可以將其刪除。這是怎麼PNG轉換爲ICNS,所以你只需要以相反的方式來做:
public static void Png(File png, File icns) throws IOException{
ImageIcon image = new ImageIcon(ImageIO.read(png));
ImageIconAs(image, icns);
}
public static void ImageIconAs(ImageIcon ii, File icns) throws IOException{IconAs((Icon)ii,icns);}
public static void IconAs(Icon icon, File icns) throws IOException{
if (icon != null) {
BufferedImage bi = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g = bi.createGraphics();
icon.paintIcon(new Canvas(), g, 0, 0);
g.dispose();
File outputfile = new File("temp000.png");
ImageIO.write(bi, "png", outputfile);
execTerminal(new String[]{ "sips", "-s", "format", "tiff",
"temp000.png","--out", "temp000.tiff" });
File apaga2 = new File("temp000.png");
apaga2.delete();
execTerminal(new String[]{ "tiff2icns", "-noLarge",
"temp000.tiff", icns.getAbsolutePath()});
File apaga = new File("temp000.tiff");
apaga.delete();
}
}
static void execTerminal(String[] cmd){
int exitCode = 0;
try {
exitCode = Runtime.getRuntime().exec(cmd).waitFor();
}
catch (InterruptedException e) {e.printStackTrace();}
catch (IOException e) {
if (exitCode != 0) System.out.println("ln signaled an error with exit code " + exitCode);
}
}
你只需要使用它來調用操作:
PNG(png_file,icns_file);
相關問題
- 1. 如何獲取在OS X上讀取文件的通知?
- 2. OS X/Cocoa - 如何讀取目錄中的每個文件?
- 3. 如何使用Mac OS X從USB設備讀取文件?
- 4. 的Mac OS X讀取XML文件轉換爲文本字段
- 5. 閱讀文本文件到一個數組與OS X Javascript
- 6. 如何讀取java中的XML文件
- 7. 在Mac OS X中閱讀windows.CSV文件
- 8. 如何通過x行讀取文本文件,但x未知?
- 9. 讀取Java與Python中的文件
- 10. Python突然沒有讀取MAC OS X上的json文件
- 11. 如何從OS X上構建文件?
- 12. OS X上編譯SDL與makefile文件
- 13. 通過Java在OS X上讀取文件 - 我的路徑正確嗎?
- 14. 讀取文件的Java 8
- 15. 的Java讀取Excel文件
- 16. 讀取XML文件的Java
- 17. Apache(在OS X Lion上)不能讀取.htaccess文件
- 18. 如何讀取CSV文件?
- 19. 如何在java中讀取json文件?
- 20. 如何讀取.txt文件以長[] JAVA?
- 21. 如何用Java讀取輸入文件
- 22. Java:如何從文件讀取密碼?
- 23. 如何從java讀取.ptn文件
- 24. 如何將JSON文件讀取至Java
- 25. 如何在java中讀取xml文件
- 26. 如何使用java讀取pdf文件?
- 27. 如何讀取位於項目文件夾中的文件java
- 28. 使用java讀取文件頭文件
- 29. 如何從Java中的文本文件讀取數據的GRID?
- 30. 如何刪除文件時,文件名在Mac OS X太長
它現在在這裏:http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/icns/IcnsDecoder.java?view =標記非常感謝。它將幫助我在GNU Linux和Windows下創建一個.app文件:https://sourceforge.net/p/tuer/tickets/9/#c109 – gouessej 2014-07-24 20:25:10