// ********************************************************************** // // <copyright> // // BBN Technologies // 10 Moulton Street // Cambridge, MA 02138 // (617) 873-8000 // // Copyright (C) BBNT Solutions LLC. All rights reserved. // // </copyright> // ********************************************************************** // // $Source: // /cvs/distapps/openmap/src/openmap/com/bbn/openmap/image/SunJPEGFormatter.java,v // $ // $RCSfile: SunJPEGFormatter.java,v $ // $Revision: 1.6 $ // $Date: 2008/02/20 01:41:08 $ // $Author: dietrick $ // // ********************************************************************** package com.bbn.openmap.image; import java.awt.image.BufferedImage; import java.util.Properties; import com.bbn.openmap.util.Debug; import com.bbn.openmap.util.PropUtils; import com.bbn.openmap.util.http.HttpConnection; public class SunJPEGFormatter extends AbstractImageFormatter { public static final String QualityProperty = "imagequality"; protected float imageQuality = .8f; public SunJPEGFormatter() {} public void setProperties(String prefix, Properties props) { imageQuality = PropUtils.floatFromProperties(props, (prefix == null ? "" : prefix) + QualityProperty, imageQuality); if (Debug.debugging("image")) { Debug.output("SunJPEGFormatter setting image quality to: " + imageQuality); } } public ImageFormatter makeClone() { SunJPEGFormatter formatter = new SunJPEGFormatter(); formatter.setImageQuality(getImageQuality()); return formatter; } public float getImageQuality() { return imageQuality; } /** For this formatter, image quality is a number in the 0-1 range. */ public void setImageQuality(float quality) { imageQuality = quality; } public byte[] formatImage(BufferedImage bi) { try { return JPEGHelper.encodeJPEG(bi, imageQuality); } catch (java.io.IOException ioe) { Debug.error("SunJPEGFormatter caught IOException formatting image!"); return new byte[0]; } } /** * Get the Image Type created by the ImageFormatter. These * responses should adhere to the OGC WMT standard format labels. * Some are listed in the WMTConstants interface file. */ public String getFormatLabel() { return WMTConstants.IMAGEFORMAT_JPEG; } public String getContentType() { return HttpConnection.CONTENT_JPEG; } @Override protected boolean imageFormatSupportAlphaChannel() { return false; } @Override protected boolean imageFormatSupportTransparentPixel() { return false; } }