gần đây tôi đang gặp sự cố khi cố gắng hiển thị tệp hình ảnh. Rất tiếc, định dạng hình ảnh là định dạng TIFF không được trình duyệt web chính hỗ trợ (vì tôi chỉ biết Safari hỗ trợ định dạng này). Do ràng buộc nhất định, tôi phải chuyển đổi định dạng này sang định dạng khác được hỗ trợ bởi trình duyệt chính. Tuy nhiên, nó mang lại rất nhiều vấn đề cho tôi khi tôi cố gắng chuyển đổi định dạng.Cách chuyển đổi TIFF sang JPEG/PNG trong java
tôi đã tìm kiếm thông qua các trang web và mặc dù có được đăng vấn đề tương tự trong liên kết này How do I convert a TIF to PNG in Java? "nhưng tôi không thể có kết quả vì nó được đề nghị ..
Do đó tôi nâng Câu hỏi này một lần nữa để mong rằng có thể có lời giải thích tốt hơn và hướng dẫn từ tất cả các bạn ..
có vài vấn đề tôi đang phải đối mặt trong quá trình đi qua với giải pháp mà đề xuất:
1) theo câu trả lời rằng đề nghị của Jonathan Feinberg, nó cần cài đặt JAI và JAI/Im ageIO. Tuy nhiên, sau khi tôi cài đặt cả hai, tôi vẫn không thể nhập tệp trong Netbean 7.2. NetBean 7.2 vẫn đề nghị nhập thư viện imageIO mặc định.
2) khi tôi đang sử dụng thư viện ImageIO mặc định Đọc phương thức, nó sẽ trả về giá trị NULL và tôi không thể tiếp tục tiến hành.
3) Tôi cũng đã thử phương pháp khác như chuyển đổi tệp TIFF thành tệp BIN bằng cách sử dụng phương thức BufferedOutputStream nhưng tệp kết quả lớn hơn 11 MB quá lớn để tải và kết thúc tải không thành công.
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();
}
}
Do đó, hy vọng có thể nhận được trợ giúp và tư vấn từ bạn để tôi có thể chuyển định dạng TIFF sang định dạng khác như JPEG/PNG.
Tak xem Imagemagick (http://www.imagemagick.org/script/index.php). Đây là nội dung java cho ImageMagic (http://www.jmagick.org/index.html) – pepuch
là nó tương tự như ImageMagick được đề xuất trong [link] (http://stackoverflow.com/questions/2291358/how- do-i-convert-a-tif-to-png-in-java) tôi đã thử phương pháp được đề xuất trong bài đăng đó bằng cách sử dụng ImageMagick, nhưng nó không thành công khi chuyển đến 'ConvertCmd convert = new ConvertCmd(); ' – jc88