diff servlet/src/digilib/servlet/Scaler.java @ 352:5ded9e06cd57

Servlet version 1.5.9b - added mo=png option to enforce PNG output - set higher JPEG quality for mo=q2 (only ImageLoaderDocuImage)
author robcast
date Wed, 14 Sep 2005 21:59:07 +0200
parents 269d1028dfb7
children 25095f85ba7c
line wrap: on
line diff
--- a/servlet/src/digilib/servlet/Scaler.java	Wed Aug 10 11:58:05 2005 +0200
+++ b/servlet/src/digilib/servlet/Scaler.java	Wed Sep 14 21:59:07 2005 +0200
@@ -59,7 +59,7 @@
 	private static final long serialVersionUID = -325080527268912852L;
 
 	/** digilib servlet version (for all components) */
-	public static final String dlVersion = "1.5.8b";
+	public static final String dlVersion = "1.5.9b";
 
 	/** logger for accounting requests */
 	private static Logger accountlog = Logger.getLogger("account.request");
@@ -231,8 +231,8 @@
 		boolean loresOnly = false;
 		// use hires images only
 		boolean hiresOnly = false;
-		// send the image always as JPEG
-		boolean forceJPEG = false;
+		// send the image always as a specific type (e.g. JPEG or PNG)
+		int forceType = ImageOps.TYPE_AUTO;
 		// interpolation to use for scaling
 		int scaleQual = defaultQuality;
 		// send html error message (or image file)
@@ -343,7 +343,11 @@
 		}
 		// operation mode: "jpg": always use JPEG
 		if (dlRequest.hasOption("mo", "jpg")) {
-			forceJPEG = true;
+			forceType = ImageOps.TYPE_JPEG;
+		}
+		// operation mode: "png": always use PNG
+		if (dlRequest.hasOption("mo", "png")) {
+			forceType = ImageOps.TYPE_PNG;
 		}
 
 		// check with the maximum allowed size (if set)
@@ -636,7 +640,7 @@
 					mimeType, scaleQual, dlRequest, paramROT, paramCONT,
 					paramBRGT, paramRGBM, paramRGBA, fileToLoad, scaleXY,
 					outerUserImgArea, innerUserImgArea, minSubsample,
-					wholeRotArea, forceJPEG);
+					wholeRotArea, forceType);
 
 			job.run();
 			if (job.hasError()) {