java - How to compress tiff image -


i storing tiff image in bufferredimage during runtime , displaying same in image src tag of hmtl.

my tiff image size 60kb , takes approx 1 sec time load in web browser.

is there way compress tiff image or bufferedimage time load image in browser can faster.

below code saving tiff image in bufferredimage.

public bufferedimage savetiff(file srcfilepath) throws ioexception {             fileseekablestream stream = new fileseekablestream(srcfilepath);             tiffdecodeparam decodeparam = new tiffdecodeparam();              decodeparam.setdecodepaletteasshorts(true);             parameterblock params = new parameterblock();              params.add(stream);             renderedop image1 = jai.create("tiff", params);             bufferedimage img = image1.getasbufferedimage();              return img;     } 

code converting tiff image in code have save jpeg image in disk , have read again. if there way convert tiff jpeg , save in bufferedimage.

public boolean tiff2jpg(file srcfilepath, file destfilepath) {             boolean status = false;             seekablestream s = null;             renderedimage op = null;             imagedecoder dec = null;             tiffdecodeparam param = null;             fileoutputstream fos = null;             jpegencodeparam jpgparam = null;             imageencoder en = null;             try {                     s = new fileseekablestream(srcfilepath);                     dec = imagecodec.createimagedecoder("tiff", s, param);                     op = dec.decodeasrenderedimage(0);                     fos = new fileoutputstream(destfilepath);                     jpgparam = new jpegencodeparam();                      jpgparam.setquality(67);                     en = imagecodec.createimageencoder("jpeg", fos, jpgparam);                     en.encode(op);                     status = true;             } catch (ioexception e) {                     // todo auto-generated catch block                     e.printstacktrace();             } catch (exception e) {                     e.printstacktrace();             } {                     try {                             fos.flush();                             fos.close();                     } catch (ioexception io) {                             // todo auto-generated catch block                             io.printstacktrace();                     } catch (exception e) {                             e.printstacktrace();                     }              } return status; 

please advice.

regards,
dinesh pise


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -