سؤال

ArrayIndexOutOfBoundsException الجاهز عند محاولة استخدام Apache-Commons Sanselan لتحميل TIFF الذي تم ضغطه باستخدام ضغط PackBits.

شفرة:

import org.apache.sanselan.*;

public class TIFFHandler {
    public static Image loadTIFF(String fileName) throws ImageReadException, IOException {
        File imageFile = new File(fileName);
        BufferedImage bi = Sanselan.getBufferedImage(imageFile);
        return bi;
    }

    public static void main(String[] args) throws IOException, ImageReadException {
        String TIFFFILE = "test_image.tif";
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        JPanel panel = new JPanel();
        BufferedImage bi = (BufferedImage) loadTIFF(TIFFFILE);
        ImageIcon ii = new ImageIcon(bi);
        JLabel lbl = new JLabel(ii);
        panel.add(lbl);
        frame.setVisible(true);
    }
}

تتبع المكدس:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 426
at org.apache.sanselan.common.PackBits.decompress(PackBits.java:55)
at org.apache.sanselan.formats.tiff.datareaders.DataReader.decompress(DataReader.java:127)
at org.apache.sanselan.formats.tiff.datareaders.DataReaderStrips.readImageData(DataReaderStrips.java:96)
at org.apache.sanselan.formats.tiff.TiffImageParser.getBufferedImage(TiffImageParser.java:505)
at org.apache.sanselan.formats.tiff.TiffDirectory.getTiffImage(TiffDirectory.java:163)
at org.apache.sanselan.formats.tiff.TiffImageParser.getBufferedImage(TiffImageParser.java:441)
at org.apache.sanselan.Sanselan.getBufferedImage(Sanselan.java:1264)
at org.apache.sanselan.Sanselan.getBufferedImage(Sanselan.java:1255)
at TIFFHandler.loadTIFF(FieldSheetHandler.java:42)
at TIFFHandler.main(FieldSheetHandler.java:90)

لقد حاولت تحليل المشكلة، لكنني ضائع جدًا... أي توجيهات ستكون مفيدة حقًا.تعتبر صور TIFF بمثابة ألم في **.

هل كانت مفيدة؟

المحلول

يمكنك تجربة الإصدار المحدث من Commons Imaging من مستودع لقطات Apache.Javadoc ليس متصلاً بالإنترنت بعد، سيتعين عليك إنشائه التحقق من الكود من SVN و الركض mvn javadoc:javadoc.

إذا وجدت المزيد من المشكلات أو أردت اقتراح تحسين، فيمكنك تقديمها جيرا.كما سيكون المطورون سعداء بمساعدتك إذا كانت لديك أسئلة بخصوص استخدام واجهة برمجة التطبيقات.إنهم ينتظرونك على القائمة البريدية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top