Mercurial > hg > digilib-old
annotate servlet/src/digilib/image/JAIImageLoaderDocuImage.java @ 71:d493563ef672
New servlet version 1.5b.
Mostly cleanup. Global parameters for digilib now in DigilibConfiguration,
per request parameters are now all in DigilibRequest. The DocuImage implementation
can be selected by the configuration docuimage-class.
Pixel-by-pixel view implemented with "mo=clip".
author | robcast |
---|---|
date | Fri, 24 Jan 2003 21:40:59 +0100 |
parents | 5ea1999befd4 |
children | 3b8797fc3e90 |
rev | line source |
---|---|
64
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
1 /* JAIImageLoaderDocuImage -- Image class implementation using JAI's ImageLoader Plugin |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
2 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
3 Digital Image Library servlet components |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
4 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
5 Copyright (C) 2001, 2002 Robert Casties (robcast@mail.berlios.de) |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
6 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
7 This program is free software; you can redistribute it and/or modify it |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
8 under the terms of the GNU General Public License as published by the |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
9 Free Software Foundation; either version 2 of the License, or (at your |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
10 option) any later version. |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
11 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
12 Please read license.txt for the full details. A copy of the GPL |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
13 may be found at http://www.gnu.org/copyleft/lgpl.html |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
14 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
15 You should have received a copy of the GNU General Public License |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
16 along with this program; if not, write to the Free Software |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
18 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
19 */ |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
20 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
21 package digilib.image; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
22 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
23 import javax.servlet.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
24 import javax.servlet.http.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
25 import java.io.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
26 import java.util.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
27 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
28 import java.awt.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
29 import java.awt.image.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
30 import java.awt.image.renderable.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
31 import javax.media.jai.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
32 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
33 import digilib.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
34 import digilib.io.*; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
35 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
36 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
37 public class JAIImageLoaderDocuImage extends DocuImageImpl { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
38 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
39 private RenderedImage img; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
40 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
41 public JAIImageLoaderDocuImage() { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
42 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
43 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
44 public JAIImageLoaderDocuImage(Utils u) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
45 util = u; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
46 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
47 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
48 /** |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
49 * load image file |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
50 */ |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
51 public void loadImage(File f) throws FileOpException { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
52 System.gc(); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
53 img = JAI.create("ImageRead", f.getAbsolutePath()); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
54 if (img == null) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
55 util.dprintln(3, "ERROR(loadImage): unable to load file"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
56 throw new FileOpException("Unable to load File!"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
57 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
58 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
59 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
60 /** |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
61 * write image of type mt to Stream |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
62 */ |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
63 public void writeImage(String mt, ServletResponse res) |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
64 throws FileOpException { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
65 try { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
66 // setup output |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
67 ParameterBlock pb3 = new ParameterBlock(); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
68 pb3.addSource(img); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
69 pb3.add(res.getOutputStream()); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
70 if (mt == "image/jpeg") { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
71 pb3.add("JPEG"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
72 } else if (mt == "image/png") { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
73 pb3.add("PNG"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
74 } else { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
75 // unknown mime type |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
76 util.dprintln(2, "ERROR(writeImage): Unknown mime type "+mt); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
77 throw new FileOpException("Unknown mime type: "+mt); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
78 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
79 res.setContentType(mt); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
80 // render output |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
81 JAI.create("ImageWrite", pb3); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
82 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
83 } catch (IOException e) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
84 throw new FileOpException("Error writing image."); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
85 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
86 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
87 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
88 public int getWidth() { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
89 if (img != null) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
90 return img.getWidth(); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
91 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
92 return 0; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
93 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
94 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
95 public int getHeight() { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
96 if (img != null) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
97 return img.getHeight(); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
98 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
99 return 0; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
100 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
101 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
102 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
103 /** |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
104 * crop and scale image |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
105 * take rectangle width,height at position x_off,y_off |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
106 * and scale by scale |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
107 */ |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
108 public void cropAndScale(int x_off, int y_off, int width, int height, |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
109 float scale, int qual) throws ImageOpException { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
110 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
111 Interpolation scaleInt = null; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
112 // setup interpolation quality |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
113 if (qual > 1) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
114 util.dprintln(4, "quality q2"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
115 scaleInt = Interpolation.getInstance(Interpolation.INTERP_BICUBIC); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
116 } else if (qual == 1) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
117 util.dprintln(4, "quality q1"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
118 scaleInt = Interpolation.getInstance(Interpolation.INTERP_BILINEAR); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
119 } else { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
120 util.dprintln(4, "quality q0"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
121 scaleInt = Interpolation.getInstance(Interpolation.INTERP_NEAREST); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
122 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
123 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
124 // setup Crop |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
125 ParameterBlock pb1 = new ParameterBlock(); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
126 pb1.addSource(img); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
127 pb1.add((float)x_off); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
128 pb1.add((float)y_off); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
129 pb1.add((float)width); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
130 pb1.add((float)height); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
131 RenderedImage croppedImg = JAI.create("crop", pb1); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
132 img = null; // free img |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
133 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
134 util.dprintln(3, "CROP:"+croppedImg.getWidth()+"x"+croppedImg.getHeight()); //DEBUG |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
135 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
136 if (croppedImg == null) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
137 util.dprintln(2, "ERROR(cropAndScale): error in crop"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
138 throw new ImageOpException("Unable to crop"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
139 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
140 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
141 // setup scale |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
142 ParameterBlock pb2 = new ParameterBlock(); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
143 pb2.addSource(croppedImg); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
144 pb2.add(scale); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
145 pb2.add(scale); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
146 pb2.add(0f); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
147 pb2.add(0f); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
148 pb2.add(scaleInt); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
149 // the following is nice but way too slow... |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
150 //if (opCrop.getColorModel().getPixelSize() < 8) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
151 // change color model if necessary |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
152 // util.dprintln("converting color model..."); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
153 // BufferedImage bi = new BufferedImage(1, 1, BufferedImage.TYPE_BYTE_GRAY); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
154 // ImageLayout lay = new ImageLayout(bi); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
155 // rh = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, lay); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
156 //} |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
157 RenderedImage scaledImg = JAI.create("scale", pb2); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
158 croppedImg = null; // free opCrop |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
159 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
160 if (scaledImg == null) { |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
161 util.dprintln(2, "ERROR(cropAndScale): error in scale"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
162 throw new ImageOpException("Unable to scale"); |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
163 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
164 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
165 img = scaledImg; |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
166 } |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
167 |
5ea1999befd4
New JAI ImageLoader plugin. Currently uses first beta version of the plugin.
robcast
parents:
diff
changeset
|
168 } |