最近我現在面臨的問題時,試圖顯示圖像文件。不幸的是,圖像格式是主流網頁瀏覽器不支持的TIFF格式(因爲我知道Safari只支持這種格式)。由於某些限制,我必須將此格式轉換爲其他主要瀏覽器支持的格式。但是,當我嘗試轉換格式時,它給我帶來了很多問題。如何TIFF轉換成JPEG/PNG在Java中
我不得不通過網絡搜索雖然有被張貼類似的問題,在這個環節上How do I convert a TIF to PNG in Java?「但我不能有結果,因爲它提出了..
因此,我再次提出這個問題,希望能有從大家更好的解釋和指導..
有在與提出的解決方案經過什麼時候遇上幾個問題:
1)根據該提議喬納森·範伯格答案,它需要安裝JAI和JAI/Im ageIO。 但是,我安裝了兩個人後,我仍然無法在Netbean 7.2導入文件。 NetBean 7.2仍然建議導入默認的imageIO庫。
2)當我使用默認的ImageIO圖書館閱讀方法,它將返回NULL值,我無法繼續進行。
3)我還嘗試了其他方法,例如使用BufferedOutputStream方法將TIFF文件轉換爲BIN文件,但結果文件大於11 MB,該文件太大而無法加載並最終加載失敗。
if (this.selectedDO != null) {
String tempDO = this.selectedDO.DONo;
String inPath = "J:\\" + tempDO + ".TIF";
String otPath = "J:\\" + tempDO + ".bin";
File opFile = new File(otPath);
File inFile = new File(inPath);
BufferedInputStream input = null;
BufferedOutputStream output = null;
try {
input = new BufferedInputStream(new FileInputStream(inPath), DEFAULT_BUFFER_SIZE);
output = new BufferedOutputStream(new FileOutputStream(otPath), DEFAULT_BUFFER_SIZE);
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
} finally {
try {
output.flush();
output.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
因此,希望能得到幫助和大家指教,使我可以TIFF格式轉換爲其他格式,如JPEG/PNG。
德看看ImageMagic(http://www.imagemagick.org/script/index.php)。這裏是ImageMagic的java intrface(http://www.jmagick.org/index.html) – pepuch 2013-03-15 09:44:46
它與[鏈接]中提出的ImageMagick相似(http://stackoverflow.com/questions/2291358/how-我嘗試了使用ImageMagick在那篇文章中提出的方法,但是當它來到'ConvertCmd convert = new ConvertCmd();'時失敗了'' – jc88 2013-03-15 10:03:07