Smoother rendering via rendering hints #112
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the signture panel where the pdf page and the signature preview is painted, I added antialiasing and bicubic interpolation rendering hints so the scaled images don't look as jagged and much smoother. Specifically I added bicubic filtering, anti aliasing and setting the preferred rendering to the quality setting. I also added a constant for the magic value that was used to downscale the signature preview image in
SignaturePanel.setSignaturePlaceholder(...)
. It was used because when we request a signature preview fromPdfAs.generateVisibleSignaturePreview(...)
we upscaled the resolution by that factor. I guess downscaling to get better image quality was already an idea. I reduced the scaling from 4 to 2 because this seemed to give nicer results.I tested that it compiles with
mvn -U install
.In the future I might add a setting to modify the filtering settings, because somebody out there might be running this on weak hardware and prefers speed over looks.
I included two screenshots of the difference in rendering so one can easily compare them, I think it looks better ;)