1 /* Copyright (C) 2005-2011 Fabio Riccardi */ 2 3 /* 4 * $RCSfile: LCColorConvertCRIF.java,v $ 5 * 6 * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved. 7 * 8 * Use is subject to license terms. 9 * 10 * $Revision: 1.2 $ 11 * $Date: 2005/03/28 17:45:12 $ 12 * $State: Exp $ 13 */ 14 15 package com.lightcrafts.jai.opimage; 16 17 import java.awt.RenderingHints; 18 import java.awt.color.ICC_Profile; 19 import java.awt.image.ColorModel; 20 import java.awt.image.RenderedImage; 21 import java.awt.image.renderable.ParameterBlock; 22 import com.lightcrafts.mediax.jai.CRIFImpl; 23 import com.lightcrafts.mediax.jai.ImageLayout; 24 import com.lightcrafts.media.jai.opimage.RIFUtil; 25 import com.lightcrafts.jai.operator.LCMSColorConvertDescriptor; 26 27 28 /** 29 * A <code>CRIF</code> supporting the "ColorConvert" operation in the rendered 30 * and renderable image layers. 31 * 32 * @see com.lightcrafts.mediax.jai.operator.ColorConvertDescriptor 33 * @see com.lightcrafts.media.jai.opimage.ColorConvertOpImage 34 * 35 * @since EA4 36 * 37 */ 38 public class LCMSColorConvertCRIF extends CRIFImpl { 39 40 /** Constructor. */ LCMSColorConvertCRIF()41 public LCMSColorConvertCRIF() { 42 super("LCMSColorConvert"); 43 } 44 45 /** 46 * Creates a new instance of <code>ColorConvertOpImage</code> in the 47 * rendered layer. 48 * 49 * @param args The source image and the destination ColorModel. 50 * @param renderHints Optionally contains destination image layout. 51 */ 52 @Override create(ParameterBlock args, RenderingHints renderHints)53 public RenderedImage create(ParameterBlock args, 54 RenderingHints renderHints) { 55 // Get ImageLayout from renderHints if any. 56 ImageLayout layout = RIFUtil.getImageLayoutHint(renderHints); 57 58 return new LCMSColorConvertOpImage(args.getRenderedSource(0), 59 renderHints, 60 layout, 61 (ColorModel) args.getObjectParameter(0), 62 (LCMSColorConvertDescriptor.RenderingIntent) args.getObjectParameter(1), 63 (ICC_Profile) args.getObjectParameter(2), 64 (LCMSColorConvertDescriptor.RenderingIntent) args.getObjectParameter(3)); 65 } 66 } 67