/** * Converts a buffered image into an image of the specified type. * * @param src Input BufferedImage which is to be converted * @param dst The image which it is being converted into * @param orderRgb If applicable, should it adjust the ordering of each color band to maintain color consistency */ public static <T extends ImageBase> void convertFrom(BufferedImage src, T dst , boolean orderRgb) { if( dst instanceof ImageGray) { ImageGray sb = (ImageGray)dst; convertFromSingle(src, sb, (Class<ImageGray>) sb.getClass()); } else if( dst instanceof Planar) { Planar ms = (Planar)dst; convertFromMulti(src,ms,orderRgb,ms.getBandType()); } else if( dst instanceof ImageInterleaved ) { convertFromInterleaved(src, (ImageInterleaved) dst, orderRgb); } else { throw new IllegalArgumentException("Unknown type " + dst.getClass().getSimpleName()); } }
/** * Converts a buffered image into an image of the specified type. * * @param src Input BufferedImage which is to be converted * @param orderRgb If applicable, should it adjust the ordering of each color band to maintain color consistency * @param imageType Type of image it is to be converted into * @return The image */ public static <T extends ImageBase> T convertFrom(BufferedImage src , boolean orderRgb , ImageType<T> imageType) { T out = imageType.createImage(src.getWidth(),src.getHeight()); switch( imageType.getFamily() ) { case GRAY: convertFromSingle(src, (ImageGray)out, imageType.getImageClass()); break; case PLANAR: convertFromMulti(src, (Planar) out, orderRgb, imageType.getImageClass()); break; case INTERLEAVED: convertFromInterleaved(src, (ImageInterleaved) out, orderRgb); break; default: throw new RuntimeException("Not supported yet"); } return out; }
public static <T extends ImageBase> T convertFrom(BufferedImage src , boolean orderRgb , T output ) { ImageType<T> imageType = output.getImageType(); switch( imageType.getFamily() ) { case GRAY: convertFromSingle(src, (ImageGray)output, imageType.getImageClass()); break; case PLANAR: convertFromMulti(src, (Planar) output, orderRgb, imageType.getImageClass()); break; case INTERLEAVED: convertFromInterleaved(src, (ImageInterleaved) output, orderRgb); break; default: throw new RuntimeException("Not supported yet"); } return output; }