52{
62
63 if((
prec =
qFloor (image->comps[0].prec)) > 16)
64 {
65 fprintf(
stderr,
"%s:%d:imagetopnm\n\tprecision %d is larger than 16"
67 return 1;
68 }
70 ncomp = image->numcomps;
71
74 && image->comps[0].dx == image->comps[1].dx
75 && image->comps[1].dx == image->comps[2].dx
76 && image->comps[0].dy == image->comps[1].dy
77 && image->comps[1].dy == image->comps[2].dy
78 && image->comps[0].prec == image->comps[1].prec
79 && image->comps[1].prec == image->comps[2].prec
80 ))
81 {
87
88 red = image->comps[0].data;
89
91 {
92 green = image->comps[1].data;
93 blue = image->comps[2].data;
94 }
96
98 {
99 const char *
tt = (
triple?
"RGB_ALPHA":
"GRAYSCALE_ALPHA");
100
102 "P7\n# OpenJPEG-%s\nWIDTH %d\nHEIGHT %d\nDEPTH %d\n"
103 "MAXVAL %d\nTUPLTYPE %s\nENDHDR\n",
114 1 << (image->comps[
ncomp - 1].prec - 1) : 0);
115 }
116 else
117 {
119 "P6\n# OpenJPEG-%s\n%d %d\n%d\n",
127 }
128 adjustR = (image->comps[0].sgnd ? 1 << (image->comps[0].prec - 1) : 0);
129
131 {
132 adjustG = (image->comps[1].sgnd ? 1 << (image->comps[1].prec - 1) : 0);
133 adjustB = (image->comps[2].sgnd ? 1 << (image->comps[2].prec - 1) : 0);
134 }
136
138 {
140 {
142 if(
v > 65535)
v = 65535;
else if(
v < 0)
v = 0;
143
145 "%c%c",
146 static_cast<unsigned char> (
v>>8),
147 static_cast<unsigned char> (
v));
149 2);
150
152 {
154 if(
v > 65535)
v = 65535;
else if(
v < 0)
v = 0;
155
157 "%c%c",
158 static_cast<unsigned char> (
v>>8),
159 static_cast<unsigned char> (
v));
161 2);
162
164 if(
v > 65535)
v = 65535;
else if(
v < 0)
v = 0;
165
167 "%c%c",
168 static_cast<unsigned char> (
v>>8),
169 static_cast<unsigned char> (
v));
171 2);
172
173 }
174
176 {
178 if(
v > 65535)
v = 65535;
else if(
v < 0)
v = 0;
179
181 "%c%c",
182 static_cast<unsigned char> (
v>>8),
183 static_cast<unsigned char> (
v));
185 2);
186 }
187 continue;
188
189 }
190
191
193 if(
v > 255)
v = 255;
else if(
v < 0)
v = 0;
194
196 "%c",
197 static_cast<unsigned char> (
v));
199 1);
201 {
203 if(
v > 255)
v = 255;
else if(
v < 0)
v = 0;
204
206 "%c",
207 static_cast<unsigned char> (
v));
209 1);
211 if(
v > 255)
v = 255;
else if(
v < 0)
v = 0;
212
214 "%c",
215 static_cast<unsigned char> (
v));
217 1);
218 }
220 {
222 if(
v > 255)
v = 255;
else if(
v < 0)
v = 0;
223
225 "%c",
226 static_cast<unsigned char> (
v));
228 1);
229 }
230 }
231
232 return 0;
233 }
234
235
236
237 if (image->numcomps >
ncomp)
238 {
240 }
241
243 {
248
250 "P5\n#OpenJPEG-%s\n%d %d\n%d\n",
257
260 (image->comps[
compno].sgnd ? 1 << (image->comps[
compno].prec - 1) : 0);
261
263 {
265 {
267 if(
v > 65535)
v = 65535;
else if(
v < 0)
v = 0;
268
270 "%c%c",
271 static_cast<unsigned char> (
v>>8),
272 static_cast<unsigned char> (
v));
274 2);
275
277 {
279 if(
v > 65535)
v = 65535;
else if(
v < 0)
v = 0;
280
282 "%c%c",
283 static_cast<unsigned char> (
v>>8),
284 static_cast<unsigned char> (
v));
286 2);
287 }
288 }
289 }
290 else
291 {
293 {
295 if(
v > 255)
v = 255;
else if(
v < 0)
v = 0;
296
298 "%c",
299 static_cast<unsigned char> (
v));
301 1);
302 }
303 }
304 }
305
306 return 0;
307}
const int INNER_RADIUS_MIN
log4cpp::Category * mainCat
#define LOG4CPP_WARN_S(logger)