private void writeIHDR() throws IOException { ChunkStream cs = new ChunkStream("IHDR"); cs.writeInt(width); cs.writeInt(height); cs.writeByte((byte) bitDepth); cs.writeByte((byte) colorType); cs.writeByte((byte) 0); cs.writeByte((byte) 0); cs.writeByte(interlace ? (byte) 1 : (byte) 0); cs.writeToStream(dataOutput); cs.close(); }
private void writeIHDR() throws IOException { ChunkStream cs = new ChunkStream("IHDR"); cs.writeInt(width); cs.writeInt(height); cs.writeByte((byte) bitDepth); cs.writeByte((byte) colorType); cs.writeByte((byte) 0); cs.writeByte((byte) 0); cs.writeByte(interlace ? (byte) 1 : (byte) 0); cs.writeToStream(dataOutput); cs.close(); }
private void writeCHRM() throws IOException { if (param.isChromaticitySet() || param.isSRGBIntentSet()) { ChunkStream cs = new ChunkStream("cHRM"); float[] chroma; if (!param.isSRGBIntentSet()) { chroma = param.getChromaticity(); } else { chroma = srgbChroma; // SRGB chromaticities } for (int i = 0; i < 8; i++) { cs.writeInt((int) (chroma[i] * 100000)); } cs.writeToStream(dataOutput); cs.close(); } }
private void writeGAMA() throws IOException { if (param.isGammaSet() || param.isSRGBIntentSet()) { ChunkStream cs = new ChunkStream("gAMA"); float gamma; if (!param.isSRGBIntentSet()) { gamma = param.getGamma(); } else { gamma = 1.0F / 2.2F; // SRGB gamma } // TD should include the .5 but causes regard to say // everything is different. cs.writeInt((int) (gamma * 100000/*+0.5*/)); cs.writeToStream(dataOutput); cs.close(); } }
private void writeGAMA() throws IOException { if (param.isGammaSet() || param.isSRGBIntentSet()) { ChunkStream cs = new ChunkStream("gAMA"); float gamma; if (!param.isSRGBIntentSet()) { gamma = param.getGamma(); } else { gamma = 1.0F / 2.2F; // SRGB gamma } // TD should include the .5 but causes regard to say // everything is different. cs.writeInt((int) (gamma * 100000/*+0.5*/)); cs.writeToStream(dataOutput); cs.close(); } }
private void writeCHRM() throws IOException { if (param.isChromaticitySet() || param.isSRGBIntentSet()) { ChunkStream cs = new ChunkStream("cHRM"); float[] chroma; if (!param.isSRGBIntentSet()) { chroma = param.getChromaticity(); } else { chroma = srgbChroma; // SRGB chromaticities } for (int i = 0; i < 8; i++) { cs.writeInt((int) (chroma[i] * 100000)); } cs.writeToStream(dataOutput); cs.close(); } }