comparison servlet/src/digilib/servlet/Scaler.java @ 161:ace2a4a0ba74

servlet version 1.16a4 - rather experimental - new Texter servlet for sending text - reads and caches text files in DocuDirCache - DocuFile renamed to ImageFile (-Set) - new TextFile
author robcast
date Tue, 16 Sep 2003 18:32:28 +0200
parents 688ad0b8b0fa
children d40922628e4a
comparison
equal deleted inserted replaced
160:aecb57fb8f96 161:ace2a4a0ba74
41 import digilib.image.DocuInfo; 41 import digilib.image.DocuInfo;
42 import digilib.image.ImageLoaderImageInfoDocuInfo; 42 import digilib.image.ImageLoaderImageInfoDocuInfo;
43 import digilib.image.ImageOpException; 43 import digilib.image.ImageOpException;
44 import digilib.image.ImageSize; 44 import digilib.image.ImageSize;
45 import digilib.io.DocuDirCache; 45 import digilib.io.DocuDirCache;
46 import digilib.io.DocuFile; 46 import digilib.io.ImageFile;
47 import digilib.io.DocuFileset; 47 import digilib.io.ImageFileset;
48 import digilib.io.FileOpException; 48 import digilib.io.FileOpException;
49 import digilib.io.FileOps; 49 import digilib.io.FileOps;
50 50
51 //import tilecachetool.*; 51 //import tilecachetool.*;
52 52
56 */ 56 */
57 //public class Scaler extends HttpServlet implements SingleThreadModel { 57 //public class Scaler extends HttpServlet implements SingleThreadModel {
58 public class Scaler extends HttpServlet { 58 public class Scaler extends HttpServlet {
59 59
60 // digilib servlet version (for all components) 60 // digilib servlet version (for all components)
61 public static final String dlVersion = "1.16a2"; 61 public static final String dlVersion = "1.16a4";
62 62
63 // Utils instance with debuglevel 63 // Utils instance with debuglevel
64 Utils util; 64 Utils util;
65 // FileOps instance 65 // FileOps instance
66 FileOps fileOp; 66 FileOps fileOp;
68 AuthOps authOp; 68 AuthOps authOp;
69 // ServletOps instance 69 // ServletOps instance
70 ServletOps servletOp; 70 ServletOps servletOp;
71 // DocuDirCache instance 71 // DocuDirCache instance
72 DocuDirCache dirCache; 72 DocuDirCache dirCache;
73 73
74 // deny image file 74 // deny image file
75 File denyImgFile; 75 File denyImgFile;
76 // error image file 76 // error image file
77 File errorImgFile; 77 File errorImgFile;
78 // subsampling before scaling 78 // subsampling before scaling
318 } 318 }
319 319
320 //"big" try for all file/image actions 320 //"big" try for all file/image actions
321 try { 321 try {
322 322
323 // DocuFileset of the image to load 323 // ImageFileset of the image to load
324 DocuFileset fileset = null; 324 ImageFileset fileset = null;
325 325
326 // new DocuInfo instance 326 // new DocuInfo instance
327 DocuInfo docuInfo = new ImageLoaderImageInfoDocuInfo(); 327 DocuInfo docuInfo = new ImageLoaderImageInfoDocuInfo();
328 328
329 /* 329 /*
357 } 357 }
358 } 358 }
359 } 359 }
360 360
361 // find the file(set) 361 // find the file(set)
362 DocuFile fileToLoad; 362 ImageFile fileToLoad;
363 fileset = dirCache.getFileset(loadPathName, dlRequest.getPn()); 363 fileset =
364 (ImageFileset) dirCache.getFile(
365 loadPathName,
366 dlRequest.getPn(),
367 FileOps.CLASS_IMAGE);
364 if (fileset == null) { 368 if (fileset == null) {
365 throw new FileOpException( 369 throw new FileOpException(
366 "File " 370 "File "
367 + loadPathName 371 + loadPathName
368 + "(" 372 + "("
640 double subsamp = 1d; 644 double subsamp = 1d;
641 if (scaleXY < 1) { 645 if (scaleXY < 1) {
642 subf = 1 / scaleXY; 646 subf = 1 / scaleXY;
643 // for higher quality reduce subsample factor by minSubsample 647 // for higher quality reduce subsample factor by minSubsample
644 if (scaleQual > 0) { 648 if (scaleQual > 0) {
645 subsamp = 649 subsamp = Math.max(Math.floor(subf / minSubsample), 1d);
646 Math.max(
647 Math.floor(subf / minSubsample),
648 1d);
649 } else { 650 } else {
650 subsamp = Math.floor(subf); 651 subsamp = Math.floor(subf);
651 } 652 }
652 scaleXY = subsamp / subf; 653 scaleXY = subsamp / subf;
653 System.out.println( 654 System.out.println(