X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=unused%2Fjavajs%2Fimg%2FJpg64Encoder.java;fp=unused%2Fjavajs%2Fimg%2FJpg64Encoder.java;h=796972f3896768d270e53016ed5d084f315ca091;hb=5152dafd5d71c877156621def8463d437c9c5453;hp=0000000000000000000000000000000000000000;hpb=c4cf7aa546ede43930f9a17fec5060119984da41;p=jalview.git diff --git a/unused/javajs/img/Jpg64Encoder.java b/unused/javajs/img/Jpg64Encoder.java new file mode 100644 index 0000000..796972f --- /dev/null +++ b/unused/javajs/img/Jpg64Encoder.java @@ -0,0 +1,64 @@ +// Version 1.0a +// Copyright (C) 1998, James R. Weeks and BioElectroMech. +// Visit BioElectroMech at www.obrador.com. Email James@obrador.com. + +// See license.txt for details about the allowed used of this software. +// This software is based in part on the work of the Independent JPEG Group. +// See IJGreadme.txt for details about the Independent JPEG Group's license. + +// This encoder is inspired by the Java Jpeg encoder by Florian Raemy, +// studwww.eurecom.fr/~raemy. +// It borrows a great deal of code and structure from the Independent +// Jpeg Group's Jpeg 6a library, Copyright Thomas G. Lane. +// See license.txt for details + +/* + * JpegEncoder and its associated classes are Copyright (c) 1998, James R. Weeks and BioElectroMech + * see(Jmol/src/com/obrador/license.txt) + * + * javajs.img.JpegEncoder.java was adapted by Bob Hanson + * for Jmol in the following ways: + * + * 1) minor coding efficiencies were made in some for() loops. + * 2) methods not used by Jmol were commented out + * 3) method and variable signatures were modified to provide + * more appropriate method privacy. + * 4) additions for Java2Script compatibility + * + * Original files are maintained in the Jmol.src.com.obrador package, but + * these original files are not distributed with Jmol. + * +*/ + +package javajs.img; + +import java.io.IOException; +import java.util.Map; + +import javajs.util.Base64; +import javajs.util.OC; + + +public class Jpg64Encoder extends JpgEncoder { + + private OC outTemp; + + @Override + protected void setParams(Map params) { + defaultQuality = 75; + outTemp = (OC) params.remove("outputChannelTemp"); + super.setParams(params); + } + + @Override + protected void generate() throws IOException { + OC out0 = out; + out = outTemp; + super.generate(); + byte[] bytes = Base64.getBytes64(out.toByteArray()); + outTemp = null; + out = out0; + out.write(bytes, 0, bytes.length); + } + +}