我在做一个图像变换时,使用JAI把图像处理成PNG格式,原来的图像是8位的,转变后是24位的真彩色,但是,我这个图像要用于网络传输,现在突然图像的大小增加了2倍,痛苦啊!有没有人知道怎么把图像编程8位的!!!
这是代码:
Interpolation biLine = Interpolation.getInstance(Interpolation.INTERP_BILINEAR);
ParameterBlock pb = new ParameterBlock();
pb.addSource(im); //放大缩小
float zoom = (float) Math.pow(2.0, level);
pb.add(zoom);
pb.add(zoom);
pb.add(0.0f);
pb.add(0.0f);
pb.add(biLine); RenderedOp img = JAI.create("scale", pb); OutputStream os = new FileOutputStream(new File(savename + level +
".png"));
PNGEncodeParam param = PNGEncodeParam.getDefaultEncodeParam(img);
ImageEncoder enc = ImageCodec.createImageEncoder("PNG", os, param); enc.encode(img);
这是代码:
Interpolation biLine = Interpolation.getInstance(Interpolation.INTERP_BILINEAR);
ParameterBlock pb = new ParameterBlock();
pb.addSource(im); //放大缩小
float zoom = (float) Math.pow(2.0, level);
pb.add(zoom);
pb.add(zoom);
pb.add(0.0f);
pb.add(0.0f);
pb.add(biLine); RenderedOp img = JAI.create("scale", pb); OutputStream os = new FileOutputStream(new File(savename + level +
".png"));
PNGEncodeParam param = PNGEncodeParam.getDefaultEncodeParam(img);
ImageEncoder enc = ImageCodec.createImageEncoder("PNG", os, param); enc.encode(img);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货