Package javax.media.jai

Examples of javax.media.jai.RasterAccessor


/*     */
/*     */   protected void computeRect(Raster[] sources, WritableRaster dest, Rectangle destRect)
/*     */   {
/* 162 */     RasterFormatTag[] formatTags = getFormatTags();
/*     */
/* 164 */     RasterAccessor s1 = new RasterAccessor(sources[0], destRect, formatTags[0], getSource(0).getColorModel());
/*     */
/* 167 */     RasterAccessor s2 = new RasterAccessor(sources[1], destRect, formatTags[1], getSource(1).getColorModel());
/*     */
/* 170 */     RasterAccessor d = new RasterAccessor(dest, destRect, formatTags[2], getColorModel());
/*     */
/* 173 */     if (d.isBinary()) {
/* 174 */       byte[] src1Bits = s1.getBinaryDataArray();
/* 175 */       byte[] src2Bits = s2.getBinaryDataArray();
/* 176 */       byte[] dstBits = d.getBinaryDataArray();
/*     */
/* 178 */       int length = dstBits.length;
/* 179 */       for (int i = 0; i < length; i++)
/*     */       {
/* 182 */         dstBits[i] = ((byte)(src1Bits[i] & (byte)(src2Bits[i] ^ 0xFFFFFFFF)));
/*     */       }
/*     */
/* 185 */       d.copyBinaryDataToRaster();
/*     */
/* 187 */       return;
/*     */     }
/*     */
/* 190 */     switch (d.getDataType()) {
/*     */     case 0:
/* 192 */       computeRectByte(s1, s2, d);
/* 193 */       break;
/*     */     case 1:
/* 195 */       computeRectUShort(s1, s2, d);
/* 196 */       break;
/*     */     case 2:
/* 198 */       computeRectShort(s1, s2, d);
/* 199 */       break;
/*     */     case 3:
/* 201 */       computeRectInt(s1, s2, d);
/* 202 */       break;
/*     */     case 4:
/* 204 */       computeRectFloat(s1, s2, d);
/* 205 */       break;
/*     */     case 5:
/* 207 */       computeRectDouble(s1, s2, d);
/*     */     }
/*     */
/* 211 */     if (d.needsClamping()) {
/* 212 */       d.clampDataArrays();
/*     */     }
/*     */
/* 215 */     d.copyDataToRaster();
/*     */   }
View Full Code Here


/*     */   {
/* 143 */     RasterFormatTag[] formatTags = getFormatTags();
/*     */
/* 145 */     Rectangle srcRect = mapDestRect(destRect, 0);
/*     */
/* 147 */     RasterAccessor src = new RasterAccessor(sources[0], srcRect, formatTags[0], getSource(0).getColorModel());
/*     */
/* 150 */     RasterAccessor dst = new RasterAccessor(dest, destRect, formatTags[1], getColorModel());
/*     */
/* 153 */     int srcPixelStride = src.getPixelStride();
/* 154 */     int srcLineStride = src.getScanlineStride();
/* 155 */     int[] srcBandOffsets = src.getBandOffsets();
/*     */
/* 157 */     int dstPixelStride = dst.getPixelStride();
/* 158 */     int dstLineStride = dst.getScanlineStride();
/* 159 */     int[] dstBandOffsets = dst.getBandOffsets();
/*     */
/* 161 */     int width = dst.getWidth() * dstPixelStride;
/* 162 */     int height = dst.getHeight() * dstLineStride;
/* 163 */     int bands = dst.getNumBands();
/*     */
/* 165 */     switch (dst.getDataType()) {
/*     */     case 0:
/* 167 */       byteLoop(width, height, bands, srcPixelStride, srcLineStride, srcBandOffsets, src.getByteDataArrays(), dstPixelStride, dstLineStride, dstBandOffsets, dst.getByteDataArrays());
/*     */
/* 172 */       break;
/*     */     case 2:
/* 175 */       shortLoop(width, height, bands, srcPixelStride, srcLineStride, srcBandOffsets, src.getShortDataArrays(), dstPixelStride, dstLineStride, dstBandOffsets, dst.getShortDataArrays());
/*     */
/* 180 */       break;
/*     */     case 1:
/* 183 */       ushortLoop(width, height, bands, srcPixelStride, srcLineStride, srcBandOffsets, src.getShortDataArrays(), dstPixelStride, dstLineStride, dstBandOffsets, dst.getShortDataArrays());
/*     */
/* 188 */       break;
/*     */     case 3:
/* 191 */       intLoop(width, height, bands, srcPixelStride, srcLineStride, srcBandOffsets, src.getIntDataArrays(), dstPixelStride, dstLineStride, dstBandOffsets, dst.getIntDataArrays());
/*     */
/* 196 */       break;
/*     */     case 4:
/* 199 */       floatLoop(width, height, bands, srcPixelStride, srcLineStride, srcBandOffsets, src.getFloatDataArrays(), dstPixelStride, dstLineStride, dstBandOffsets, dst.getFloatDataArrays());
/*     */
/* 204 */       break;
/*     */     case 5:
/* 207 */       doubleLoop(width, height, bands, srcPixelStride, srcLineStride, srcBandOffsets, src.getDoubleDataArrays(), dstPixelStride, dstLineStride, dstBandOffsets, dst.getDoubleDataArrays());
/*     */     }
/*     */
/* 215 */     if (dst.isDataCopy()) {
/* 216 */       dst.clampDataArrays();
/* 217 */       dst.copyDataToRaster();
/*     */     }
/*     */   }
View Full Code Here

/*     */   {
/* 155 */     RasterFormatTag[] formatTags = getFormatTags();
/*     */
/* 157 */     Rectangle srcRect = mapDestRect(destRect, 0);
/*     */
/* 159 */     RasterAccessor dst = new RasterAccessor(dest, destRect, formatTags[1], getColorModel());
/*     */
/* 161 */     RasterAccessor src = new RasterAccessor(sources[0], srcRect, formatTags[0], getSourceImage(0).getColorModel());
/*     */
/* 164 */     switch (dst.getDataType()) {
/*     */     case 0:
/* 166 */       computeRectByte(src, dst);
/* 167 */       break;
View Full Code Here

/*     */
/*     */   protected void computeRect(Raster[] sources, WritableRaster dest, Rectangle destRect)
/*     */   {
/* 240 */     RasterFormatTag[] formatTags = getFormatTags();
/*     */
/* 243 */     RasterAccessor dst = new RasterAccessor(dest, destRect, formatTags[1], getColorModel());
/*     */
/* 248 */     RasterAccessor src = new RasterAccessor(sources[0], mapDestRect(destRect, 0), formatTags[0], getSourceImage(0).getColorModel());
/*     */
/* 254 */     switch (dst.getDataType()) {
/*     */     case 0:
/* 256 */       computeRectByte(src, dst);
/* 257 */       break;
View Full Code Here

/*  97 */     RasterFormatTag[] formatTags = getFormatTags();
/*     */
/*  99 */     Raster source = sources[0];
/* 100 */     Rectangle srcRect = mapDestRect(destRect, 0);
/*     */
/* 103 */     RasterAccessor srcAccessor = new RasterAccessor(source, srcRect, formatTags[0], getSourceImage(0).getColorModel());
/*     */
/* 107 */     RasterAccessor dstAccessor = new RasterAccessor(dest, destRect, formatTags[1], getColorModel());
/*     */
/* 111 */     switch (dstAccessor.getDataType()) {
/*     */     case 0:
/* 113 */       byteLoop(srcAccessor, dstAccessor, this.maskSize);
/* 114 */       break;
/*     */     case 2:
/* 116 */       shortLoop(srcAccessor, dstAccessor, this.maskSize);
/* 117 */       break;
/*     */     case 1:
/* 119 */       ushortLoop(srcAccessor, dstAccessor, this.maskSize);
/* 120 */       break;
/*     */     case 3:
/* 122 */       intLoop(srcAccessor, dstAccessor, this.maskSize);
/* 123 */       break;
/*     */     case 4:
/* 125 */       floatLoop(srcAccessor, dstAccessor, this.maskSize);
/* 126 */       break;
/*     */     case 5:
/* 128 */       doubleLoop(srcAccessor, dstAccessor, this.maskSize);
/*     */     }
/*     */
/* 135 */     if (dstAccessor.isDataCopy()) {
/* 136 */       dstAccessor.clampDataArrays();
/* 137 */       dstAccessor.copyDataToRaster();
/*     */     }
/*     */   }
View Full Code Here

/*   98 */     this.tags = getFormatTags();
/*      */   }
/*      */
/*      */   protected void computeRect(Raster[] sources, WritableRaster dest, Rectangle destRect)
/*      */   {
/*  113 */     RasterAccessor s1 = new RasterAccessor(sources[0], destRect, this.tags[0], getSourceImage(0).getColorModel());
/*      */
/*  116 */     RasterAccessor s2 = new RasterAccessor(sources[1], destRect, this.tags[1], getSourceImage(1).getColorModel());
/*      */
/*  119 */     RasterAccessor a1 = new RasterAccessor(this.alpha1.getData(destRect), destRect, this.tags[2], this.alpha1.getColorModel());
/*      */
/*  123 */     RasterAccessor a2 = null;
/*      */     RasterAccessor d;
/*      */     RasterAccessor d;
/*  124 */     if (this.alpha2 == null) {
/*  125 */       d = new RasterAccessor(dest, destRect, this.tags[3], getColorModel());
/*      */     }
/*      */     else {
/*  128 */       a2 = new RasterAccessor(this.alpha2.getData(destRect), destRect, this.tags[3], this.alpha2.getColorModel());
/*      */
/*  130 */       d = new RasterAccessor(dest, destRect, this.tags[4], getColorModel());
/*      */     }
/*      */
/*  134 */     switch (d.getDataType()) {
/*      */     case 0:
/*  136 */       byteLoop(s1, s2, a1, a2, d);
/*  137 */       break;
/*      */     case 1:
/*  139 */       ushortLoop(s1, s2, a1, a2, d);
/*  140 */       break;
/*      */     case 2:
/*  142 */       shortLoop(s1, s2, a1, a2, d);
/*  143 */       break;
/*      */     case 3:
/*  145 */       intLoop(s1, s2, a1, a2, d);
/*  146 */       break;
/*      */     case 4:
/*  148 */       floatLoop(s1, s2, a1, a2, d);
/*  149 */       break;
/*      */     case 5:
/*  151 */       doubleLoop(s1, s2, a1, a2, d);
/*      */     }
/*      */
/*  155 */     if (d.isDataCopy()) {
/*  156 */       d.clampDataArrays();
/*  157 */       d.copyDataToRaster();
/*      */     }
/*      */   }
View Full Code Here

/*     */
/*     */   protected void computeRect(PlanarImage[] sources, WritableRaster dest, Rectangle destRect)
/*     */   {
/* 103 */     RasterFormatTag[] formatTags = getFormatTags();
/*     */
/* 105 */     RasterAccessor d = new RasterAccessor(dest, destRect, formatTags[1], getColorModel());
/*     */
/* 108 */     switch (d.getDataType()) {
/*     */     case 0:
/* 110 */       computeRectByte(sources[0], d);
/* 111 */       break;
/*     */     case 1:
/* 113 */       computeRectUShort(sources[0], d);
/* 114 */       break;
/*     */     case 2:
/* 116 */       computeRectShort(sources[0], d);
/* 117 */       break;
/*     */     case 3:
/* 119 */       computeRectInt(sources[0], d);
/* 120 */       break;
/*     */     case 4:
/* 122 */       computeRectFloat(sources[0], d);
/* 123 */       break;
/*     */     case 5:
/* 125 */       computeRectDouble(sources[0], d);
/*     */     }
/*     */
/* 129 */     if (d.isDataCopy()) {
/* 130 */       d.clampDataArrays();
/* 131 */       d.copyDataToRaster();
/*     */     }
/*     */   }
View Full Code Here

/* 218 */     int srcX = source.getMinX();
/* 219 */     int srcY = source.getMinY();
/*     */
/* 222 */     RasterFormatTag[] formatTags = getFormatTags();
/*     */
/* 224 */     RasterAccessor srcAccessor = new RasterAccessor(source, new Rectangle(srcX, srcY, srcWidth, srcHeight), formatTags[0], getSourceImage(0).getColorModel());
/*     */
/* 230 */     RasterAccessor dstAccessor = new RasterAccessor(dest, destRect, formatTags[1], getColorModel());
/*     */
/* 235 */     int srcDataType = srcAccessor.getDataType();
/* 236 */     int dstDataType = dstAccessor.getDataType();
/*     */
/* 239 */     int srcPixelStride = srcAccessor.getPixelStride();
/* 240 */     int srcScanlineStride = srcAccessor.getScanlineStride();
/* 241 */     int dstPixelStride = dstAccessor.getPixelStride();
/* 242 */     int dstScanlineStride = dstAccessor.getScanlineStride();
/*     */
/* 245 */     int numBands = this.sampleModel.getNumBands();
/* 246 */     for (int band = 0; band < numBands; band++)
/*     */     {
/* 248 */       Object srcData = srcAccessor.getDataArray(band);
/* 249 */       Object dstData = dstAccessor.getDataArray(band);
/*     */
/* 251 */       if (destRect.width > 1)
/*     */       {
/* 253 */         this.fct.setLength(getWidth());
/*     */
/* 256 */         int srcOffset = srcAccessor.getBandOffset(band);
/* 257 */         int dstOffset = dstAccessor.getBandOffset(band);
/*     */
/* 260 */         for (int row = 0; row < srcHeight; row++)
/*     */         {
/* 262 */           this.fct.setData(srcDataType, srcData, srcOffset, srcPixelStride, srcWidth);
/*     */
/* 267 */           this.fct.transform();
/*     */
/* 270 */           this.fct.getData(dstDataType, dstData, dstOffset, dstPixelStride);
/*     */
/* 274 */           srcOffset += srcScanlineStride;
/* 275 */           dstOffset += dstScanlineStride;
/*     */         }
/*     */       }
/*     */
/* 279 */       if (destRect.width == 1)
/*     */       {
/* 281 */         int srcOffset = srcAccessor.getBandOffset(band);
/* 282 */         int dstOffset = dstAccessor.getBandOffset(band);
/*     */
/* 285 */         this.fct.setData(srcDataType, srcData, srcOffset, srcScanlineStride, srcHeight);
/*     */
/* 290 */         this.fct.transform();
/*     */
/* 293 */         this.fct.getData(dstDataType, dstData, dstOffset, dstScanlineStride);
/*     */       }
/* 295 */       else if (destRect.height > 1)
/*     */       {
/* 297 */         this.fct.setLength(getHeight());
/*     */
/* 300 */         int dstOffset = dstAccessor.getBandOffset(band);
/*     */
/* 303 */         for (int col = 0; col < destRect.width; col++)
/*     */         {
/* 305 */           this.fct.setData(dstDataType, dstData, dstOffset, dstScanlineStride, destRect.height);
/*     */
/* 310 */           this.fct.transform();
/*     */
/* 313 */           this.fct.getData(dstDataType, dstData, dstOffset, dstScanlineStride);
/*     */
/* 317 */           dstOffset += dstPixelStride;
/*     */         }
/*     */       }
/*     */     }
/*     */
/* 322 */     if (dstAccessor.needsClamping()) {
/* 323 */       dstAccessor.clampDataArrays();
/*     */     }
/*     */
/* 327 */     dstAccessor.copyDataToRaster();
/*     */   }
View Full Code Here

/*   87 */     Rectangle srcRect = source.getBounds();
/*      */
/*   89 */     int srcRectX = srcRect.x;
/*   90 */     int srcRectY = srcRect.y;
/*      */
/*   99 */     RasterAccessor srcAccessor = new RasterAccessor(source, srcRect, formatTags[0], getSourceImage(0).getColorModel());
/*      */
/*  104 */     RasterAccessor dstAccessor = new RasterAccessor(dest, destRect, formatTags[1], getColorModel());
/*      */
/*  110 */     switch (dstAccessor.getDataType()) {
/*      */     case 0:
/*  112 */       byteLoop(srcAccessor, destRect, srcRectX, srcRectY, dstAccessor);
/*      */
/*  117 */       break;
/*      */     case 3:
/*  120 */       intLoop(srcAccessor, destRect, srcRectX, srcRectY, dstAccessor);
/*      */
/*  125 */       break;
/*      */     case 2:
/*  128 */       shortLoop(srcAccessor, destRect, srcRectX, srcRectY, dstAccessor);
/*      */
/*  133 */       break;
/*      */     case 1:
/*  136 */       ushortLoop(srcAccessor, destRect, srcRectX, srcRectY, dstAccessor);
/*      */
/*  141 */       break;
/*      */     case 4:
/*  144 */       floatLoop(srcAccessor, destRect, srcRectX, srcRectY, dstAccessor);
/*      */
/*  149 */       break;
/*      */     case 5:
/*  152 */       doubleLoop(srcAccessor, destRect, srcRectX, srcRectY, dstAccessor);
/*      */     }
/*      */
/*  163 */     if (dstAccessor.isDataCopy()) {
/*  164 */       dstAccessor.clampDataArrays();
/*  165 */       dstAccessor.copyDataToRaster();
/*      */     }
/*      */   }
View Full Code Here

/* 133 */     RasterFormatTag[] formatTags = getFormatTags();
/*     */
/* 135 */     Raster source = sources[0];
/* 136 */     Rectangle srcRect = mapDestRect(destRect, 0);
/*     */
/* 138 */     RasterAccessor srcAccessor = new RasterAccessor(source, srcRect, formatTags[0], getSourceImage(0).getColorModel());
/*     */
/* 143 */     RasterAccessor dstAccessor = new RasterAccessor(dest, destRect, formatTags[1], getColorModel());
/*     */
/* 147 */     switch (dstAccessor.getDataType()) {
/*     */     case 2:
/* 149 */       shortLoop(srcAccessor, dstAccessor);
/* 150 */       break;
/*     */     case 3:
/* 152 */       intLoop(srcAccessor, dstAccessor);
/* 153 */       break;
/*     */     case 4:
/* 155 */       floatLoop(srcAccessor, dstAccessor);
/* 156 */       break;
/*     */     case 5:
/* 158 */       doubleLoop(srcAccessor, dstAccessor);
/* 159 */       break;
/*     */     case 0:
/*     */     case 1:
/*     */     default:
/* 163 */       throw new RuntimeException(JaiI18N.getString("ConjugateOpImage0"));
/*     */     }
/*     */
/* 169 */     if (dstAccessor.isDataCopy()) {
/* 170 */       dstAccessor.clampDataArrays();
/* 171 */       dstAccessor.copyDataToRaster();
/*     */     }
/*     */   }
View Full Code Here

TOP

Related Classes of javax.media.jai.RasterAccessor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.