1 18 package org.apache.batik.ext.awt.image.rendered; 19 20 import java.awt.image.Raster ; 21 import java.awt.image.SampleModel ; 22 import java.awt.image.WritableRaster ; 23 24 import org.apache.batik.ext.awt.ColorSpaceHintKey; 25 26 31 public class FilterAlphaRed extends AbstractRed { 32 33 39 public FilterAlphaRed(CachableRed src) { 40 super(src, src.getBounds(), 41 src.getColorModel(), 42 src.getSampleModel(), 43 src.getTileGridXOffset(), 44 src.getTileGridYOffset(), 45 null); 46 47 props.put(ColorSpaceHintKey.PROPERTY_COLORSPACE, 48 ColorSpaceHintKey.VALUE_COLORSPACE_ALPHA); 49 } 50 51 public WritableRaster copyData(WritableRaster wr) { 52 CachableRed srcRed = (CachableRed)getSources().get(0); 55 56 SampleModel sm = srcRed.getSampleModel(); 57 if (sm.getNumBands() == 1) 58 return srcRed.copyData(wr); 60 61 PadRed.ZeroRecter.zeroRect(wr); 62 Raster srcRas = srcRed.getData(wr.getBounds()); 63 AbstractRed.copyBand(srcRas, srcRas.getNumBands()-1, wr, 64 wr.getNumBands()-1); 65 return wr; 66 } 67 68 } 69 | Popular Tags |