/** * Converts the buffered image into an {@link GrayF32}. If the buffered image * has multiple channels then the input image is copied into each channel. The floating * point image is assumed to be between 0 and 255. * * @param src Input image. * @param dst Where the converted image is written to. If null a new image is created. * @return Converted image. */ public static BufferedImage convertTo(GrayF32 src, BufferedImage dst) { dst = checkInputs(src, dst); try { if (dst.getRaster() instanceof ByteInterleavedRaster && dst.getType() != BufferedImage.TYPE_BYTE_INDEXED ) { ConvertRaster.grayToBuffered(src, (ByteInterleavedRaster) dst.getRaster()); } else if (dst.getRaster() instanceof IntegerInterleavedRaster) { ConvertRaster.grayToBuffered(src, (IntegerInterleavedRaster) dst.getRaster()); } else { ConvertRaster.grayToBuffered(src, dst); } // hack so that it knows the buffer has been modified dst.setRGB(0,0,dst.getRGB(0,0)); } catch( java.security.AccessControlException e) { ConvertRaster.grayToBuffered(src, dst); } return dst; }
/** * Converts a {@link GrayU8} into a BufferedImage. If the buffered image * has multiple channels then the input image is copied into each channel. * * @param src Input image. * @param dst Where the converted image is written to. If null a new image is created. * @return Converted image. */ public static BufferedImage convertTo(GrayU8 src, BufferedImage dst) { dst = checkInputs(src, dst); try { if (dst.getRaster() instanceof ByteInterleavedRaster && dst.getType() != BufferedImage.TYPE_BYTE_INDEXED ) { ConvertRaster.grayToBuffered(src, (ByteInterleavedRaster) dst.getRaster()); } else if (dst.getRaster() instanceof IntegerInterleavedRaster) { ConvertRaster.grayToBuffered(src, (IntegerInterleavedRaster) dst.getRaster()); } else { ConvertRaster.grayToBuffered(src, dst); } // hack so that it knows the buffer has been modified dst.setRGB(0,0,dst.getRGB(0,0)); } catch( java.security.AccessControlException e) { ConvertRaster.grayToBuffered(src, dst); } return dst; }
/** * Converts a {@link GrayI16} into a BufferedImage. If the buffered image * has multiple channels then the input image is copied into each channel. * * @param src Input image. * @param dst Where the converted image is written to. If null a new image is created. * @return Converted image. */ public static BufferedImage convertTo(GrayI16 src, BufferedImage dst) { dst = checkInputs(src, dst); try { if (dst.getRaster() instanceof ByteInterleavedRaster && dst.getType() != BufferedImage.TYPE_BYTE_INDEXED ) { ConvertRaster.grayToBuffered(src, (ByteInterleavedRaster) dst.getRaster()); } else if (dst.getRaster() instanceof IntegerInterleavedRaster) { ConvertRaster.grayToBuffered(src, (IntegerInterleavedRaster) dst.getRaster()); } else if( dst.getType() == BufferedImage.TYPE_USHORT_GRAY ) { ConvertRaster.grayToBuffered(src, (ShortInterleavedRaster) dst.getRaster()); } else { ConvertRaster.grayToBuffered(src, dst); } // hack so that it knows the buffer has been modified dst.setRGB(0,0,dst.getRGB(0,0)); } catch( java.security.AccessControlException e) { ConvertRaster.grayToBuffered(src, dst); } return dst; }