56 lines
1.2 KiB
Java
56 lines
1.2 KiB
Java
package ar.com.hjg.pngj.chunks;
|
|
|
|
import ar.com.hjg.pngj.ImageInfo;
|
|
import ar.com.hjg.pngj.PngHelperInternal;
|
|
import ar.com.hjg.pngj.PngjException;
|
|
|
|
/**
|
|
* sRGB chunk.
|
|
* <p>
|
|
* see http://www.w3.org/TR/PNG/#11sRGB
|
|
*/
|
|
public class PngChunkSRGB extends PngChunkSingle {
|
|
public final static String ID = ChunkHelper.sRGB;
|
|
|
|
// http://www.w3.org/TR/PNG/#11sRGB
|
|
|
|
public static final int RENDER_INTENT_Perceptual = 0;
|
|
public static final int RENDER_INTENT_Relative_colorimetric = 1;
|
|
public static final int RENDER_INTENT_Saturation = 2;
|
|
public static final int RENDER_INTENT_Absolute_colorimetric = 3;
|
|
|
|
private int intent;
|
|
|
|
public PngChunkSRGB(ImageInfo info) {
|
|
super(ID, info);
|
|
}
|
|
|
|
@Override
|
|
public ChunkOrderingConstraint getOrderingConstraint() {
|
|
return ChunkOrderingConstraint.BEFORE_PLTE_AND_IDAT;
|
|
}
|
|
|
|
@Override
|
|
public void parseFromRaw(ChunkRaw c) {
|
|
if (c.len != 1)
|
|
throw new PngjException("bad chunk length " + c);
|
|
intent = PngHelperInternal.readInt1fromByte(c.data, 0);
|
|
}
|
|
|
|
@Override
|
|
public ChunkRaw createRawChunk() {
|
|
ChunkRaw c = null;
|
|
c = createEmptyChunk(1, true);
|
|
c.data[0] = (byte) intent;
|
|
return c;
|
|
}
|
|
|
|
public int getIntent() {
|
|
return intent;
|
|
}
|
|
|
|
public void setIntent(int intent) {
|
|
this.intent = intent;
|
|
}
|
|
}
|