Thanks for contacting us, it appears your fix is good safety check. We do have the policy of only accepting pull requests with a test case; to prevent regressions from occurring and prove to the review that the change addresses the issue in questions. We have had too much technical debt accumulate before this policy.
We would love if if you can make a PR. Jody On Thu, Oct 14, 2021 at 11:37 AM Michael Jung <m...@golem.phantasia.org> wrote: > Hello, > > I sent a similar mail a couple of months ago. I didn't receive any > response, > but I had only recently subscribed, maybe it got lost in translation. > > The CONTRIBUTING.md says, I should post here. > > A lot of my data is raster data with alpha-channel. About 2% fail when > serving them through the tile server at some resolutions. I can't > produce a small, self-contained example, unfortunately. But I have > tracked it down and it seems the alpha-channel is rendered separately > from the rest of the image and is "allergic" to 0-size tile-width. > This is the way I fixed it in 21.1 (verified in my environment). > If necessary, I can give you the stack trace from the logs, the > AWT class doesn't like 0. > > This is the patch on current main HEAD: > > diff --git > a/modules/library/coverage/src/main/java/org/geotools/image/ImageWorker.java > b/modules/library/coverage/src/main/java/org/geotools/image/ImageWorker.java > index 0dfee3e..82c0d3f 100644 > --- > a/modules/library/coverage/src/main/java/org/geotools/image/ImageWorker.java > +++ > b/modules/library/coverage/src/main/java/org/geotools/image/ImageWorker.java > @@ -4452,15 +4452,17 @@ public class ImageWorker { > Object candidate = hints.get(JAI.KEY_IMAGE_LAYOUT); > if (candidate instanceof ImageLayout) { > ImageLayout layout = (ImageLayout) candidate; > - ImageLayout layout2 = > - new ImageLayout2( > - layout.getTileGridXOffset(null), > - layout.getTileGridYOffset(null), > - layout.getTileWidth(null), > - layout.getTileHeight(null), > - sm, > - cm); > - merged.setRenderingHints(new > RenderingHints(JAI.KEY_IMAGE_LAYOUT, layout2)); > + if (layout.getTileWidth(null) > 0 && > layout.getTileHeight(null) > 0) { > + ImageLayout layout2 = > + new ImageLayout2( > + layout.getTileGridXOffset(null), > + layout.getTileGridYOffset(null), > + layout.getTileWidth(null), > + layout.getTileHeight(null), > + sm, > + cm); > + merged.setRenderingHints(new > RenderingHints(JAI.KEY_IMAGE_LAYOUT, layout2)); > + } > } > image = merged.addBand(alphaChannel, false, true, > null).getRenderedImage(); > } > > I could also create a pull request (from > https://github.com/irisiflimsi/geotools) and an issue for it, if you > prefer. > > Sincerely, > Michael > > > > _______________________________________________ > GeoTools-Devel mailing list > GeoTools-Devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geotools-devel > -- -- Jody Garnett
_______________________________________________ GeoTools-Devel mailing list GeoTools-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel