private long getFieldValue(TIFFField field) { long value; if (field.getType() == TIFFField.TIFF_DOUBLE) { value = (int) field.getAsDouble(0); } else if (field.getType() == TIFFField.TIFF_FLOAT) { value = (int) field.getAsFloat(0); } else if (field.getType() == TIFFField.TIFF_RATIONAL) { long[] values = field.getAsRational(0); value = (int) ((double) values[0] / (double) values[1]); } else if (field.getType() == TIFFField.TIFF_LONG) { value = (int) field.getAsLong(0); } else { value = field.getAsInt(0); } return value; }