/* 553 */ if (((serverMask & 0x15) != 21) && ((serverMask & 0x2A) != 42) && ((serverMask & 0x5) != 5) && ((serverMask & 0xA) != 10))
/* */ {
/* 557 */ return null;
/* */ }
/* */
/* 560 */ ImagingListener listener = ImageUtil.getImagingListener(renderContext);
/* */
/* 563 */ boolean isJPEG = false;
/* 564 */ boolean isFull = false;
/* 565 */ if ((serverMask & 0x15) == 21) {
/* 566 */ isJPEG = isFull = 1;
/* 567 */ } else if ((serverMask & 0x2A) == 42) {
/* 568 */ isJPEG = false;
/* 569 */ isFull = true;
/* 570 */ } else if ((serverMask & 0x5) == 5) {
/* 571 */ isJPEG = true;
/* 572 */ isFull = false;
/* */ }
/* */
/* 576 */ StringBuffer buf = new StringBuffer((String)paramBlock.getObjectParameter(0));
/* */
/* 581 */ if ((opMask & 0x1) != 0) {
/* 582 */ buf.append("&FTR=" + paramBlock.getFloatParameter(2));
/* */ }
/* */
/* 586 */ if ((opMask & 0x2) != 0) {
/* 587 */ buf.append("&CTW=");
/* 588 */ float[] ctw = (float[])paramBlock.getObjectParameter(3);
/* 589 */ for (int i = 0; i < ctw.length; i++) {
/* 590 */ buf.append(ctw[i]);
/* 591 */ if (i != ctw.length - 1) {
/* 592 */ buf.append(",");
/* */ }
/* */ }
/* */
/* */ }
/* */
/* 598 */ if ((opMask & 0x4) != 0) {
/* 599 */ buf.append("&CNT=" + paramBlock.getFloatParameter(4));
/* */ }
/* */
/* 603 */ if ((opMask & 0x8) != 0) {
/* 604 */ Rectangle2D roi = (Rectangle2D)paramBlock.getObjectParameter(5);
/* */
/* 606 */ buf.append("&ROI=" + roi.getX() + "," + roi.getY() + "," + roi.getWidth() + "," + roi.getHeight());
/* */ }
/* */
/* 622 */ AffineTransform postTransform = new AffineTransform();
/* */
/* 625 */ AffineTransform at = (AffineTransform)renderContext.getTransform().clone();
/* */
/* 629 */ if ((at.getTranslateX() != 0.0D) || (at.getTranslateY() != 0.0D)) {
/* 630 */ postTransform.setToTranslation(at.getTranslateX(), at.getTranslateY());
/* */
/* 632 */ double[] m = new double[6];
/* 633 */ at.getMatrix(m);
/* 634 */ at.setTransform(m[0], m[1], m[2], m[3], 0.0D, 0.0D);
/* */ }
/* */
/* 638 */ Rectangle2D rgn = null;
/* 639 */ if ((opMask & 0x40) != 0) {
/* 640 */ rgn = (Rectangle2D)paramBlock.getObjectParameter(8);
/* */ } else {
/* 642 */ float aspectRatio = 1.0F;
/* 643 */ if ((opMask & 0x20) != 0)
/* 644 */ aspectRatio = paramBlock.getFloatParameter(7);
/* */ else {
/* 646 */ aspectRatio = ((Float)lowRes.getProperty("aspect-ratio")).floatValue();
/* */ }
/* */
/* 649 */ rgn = new Rectangle2D.Float(0.0F, 0.0F, aspectRatio, 1.0F);
/* */ }
/* */
/* 654 */ Rectangle dstROI = at.createTransformedShape(rgn).getBounds();
/* */
/* 658 */ AffineTransform scale = AffineTransform.getScaleInstance(dstROI.getWidth() / rgn.getWidth(), dstROI.getHeight() / rgn.getHeight());
/* */ try
/* */ {
/* 666 */ at.preConcatenate(scale.createInverse());
/* */ } catch (Exception e) {
/* 668 */ String message = JaiI18N.getString("IIPCRIF6");
/* 669 */ listener.errorOccurred(message, new ImagingException(message, e), this, false);
/* */ }
/* */
/* 677 */ AffineTransform afn = (AffineTransform)paramBlock.getObjectParameter(6);
/* */ try
/* */ {
/* 680 */ afn.preConcatenate(at.createInverse());
/* */ } catch (Exception e) {
/* 682 */ String message = JaiI18N.getString("IIPCRIF6");
/* 683 */ listener.errorOccurred(message, new ImagingException(message, e), this, false);
/* */ }
/* */
/* 689 */ if (isFull)
/* */ {
/* 692 */ buf.append("&WID=" + dstROI.width + "&HEI=" + dstROI.height);
/* */ }
/* */
/* 729 */ double[] matrix = new double[6];
/* 730 */ afn.getMatrix(matrix);
/* 731 */ buf.append("&AFN=" + matrix[0] + "," + matrix[2] + ",0," + matrix[4] + "," + matrix[1] + "," + matrix[3] + ",0," + matrix[5] + ",0,0,1,0,0,0,0,1");
/* */
/* 737 */ if ((opMask & 0x20) != 0) {
/* 738 */ buf.append("&RAR=" + paramBlock.getFloatParameter(7));
/* */ }
/* */
/* 742 */ if ((opMask & 0x40) != 0) {
/* 743 */ Rectangle2D dstRGN = (Rectangle2D)paramBlock.getObjectParameter(8);
/* */
/* 745 */ buf.append("&RGN=" + dstRGN.getX() + "," + dstRGN.getY() + "," + dstRGN.getWidth() + "," + dstRGN.getHeight());
/* */ }
/* */
/* 750 */ if ((isFull) && (
/* 751 */ ((opMask & 0x80) != 0) || ((opMask & 0x100) != 0)))
/* */ {
/* 753 */ buf.append("&RFM=" + paramBlock.getIntParameter(9));
/* 754 */ if ((opMask & 0x100) != 0) {
/* 755 */ String axis = (String)paramBlock.getObjectParameter(10);
/* 756 */ if (axis.equalsIgnoreCase("x"))
/* 757 */ buf.append(",0");
/* */ else {
/* 759 */ buf.append(",90");
/* */ }
/* */
/* */ }
/* */
/* */ }
/* */
/* 766 */ if (((opMask & 0x200) == 0) ||
/* 774 */ (isJPEG)) {
/* 775 */ if ((opMask & 0x400) != 0) {
/* 776 */ buf.append("&QLT=" + paramBlock.getIntParameter(12));
/* */ }
/* */
/* 779 */ if ((opMask & 0x800) != 0) {
/* 780 */ buf.append("&CIN=" + paramBlock.getIntParameter(13));
/* */ }
/* */
/* */ }
/* */
/* 785 */ String format = isJPEG ? "JPEG" : "FPX";
/* */
/* 788 */ buf.append("&CVT=" + format);
/* */
/* 792 */ InputStream stream = null;
/* 793 */ RenderedImage rendering = null;
/* */ try {
/* 795 */ URL url = new URL(buf.toString());
/* 796 */ stream = url.openStream();
/* 797 */ MemoryCacheSeekableStream sStream = new MemoryCacheSeekableStream(stream);
/* */
/* 799 */ rendering = JAI.create(format, sStream);
/* */ } catch (Exception e) {
/* 801 */ String message = JaiI18N.getString("IIPCRIF7") + " " + buf.toString();
/* */
/* 803 */ listener.errorOccurred(message, new ImagingException(message, e), this, false);
/* */ }
/* */
/* 810 */ if (!isFull) {
/* 811 */ postTransform.scale(dstROI.getWidth() / rendering.getWidth(), dstROI.getHeight() / rendering.getHeight());
/* */ }